def search(self, group):
        """search for objects to save,
        populating self.out
        """
        if len(self._ids) == 0:
            return

        for nam in dir(group):
            self._searched.append(group)
            obj = getattr(group, nam)
            if (id(obj) in self._ids and
                obj not in self.out.values()):
                self.out[nam] = obj
                self._ids.remove(id(obj))
                self._objs.remove(obj)
            if (self.isgroup(obj) and
                obj not in self._searched and
                obj not in self._subgroups):
                self._subgroups.append(obj)
        if group in self._subgroups:
            self._subgroups.remove(group)
        for group in self._subgroups:
            self.search(group)
dataset/ETHPy150Open xraypy/xraylarch/plugins/io/save_restore.py/H5PySaveFile.search/original