As far as I know, the flap.get_data_object should return a new object whereas the flap.get_data_object_ref should return a reference to the existing one. This is not the case. The copy.deepcopy returning is only implemented for the get_data_object when there is a keyerror and the resulting nlist length is 1 which I believe happens, when there is an object without an exp_id for some reason. I think line 3510 should be d = copy.deepcopy(self.__data_objects[_name]).
As far as I know, the flap.get_data_object should return a new object whereas the flap.get_data_object_ref should return a reference to the existing one. This is not the case. The copy.deepcopy returning is only implemented for the get_data_object when there is a keyerror and the resulting nlist length is 1 which I believe happens, when there is an object without an exp_id for some reason. I think line 3510 should be d = copy.deepcopy(self.__data_objects[_name]).