def __iter__(self):
        iterator_list = [(iteritems(self.base or {}), '')]
        while iterator_list:
            iterator, prefix = iterator_list.pop()
            try:
                key, value = next(iterator)
                if len(prefix) > 0:
                    key = prefix + '.' + key
            except StopIteration:
                continue
            iterator_list.append((iterator, prefix))

            if self._is_section(value):
                iterator_list.append((iteritems(value), key))
            else:
                yield key
Takes a list and a set.  Returns a list of all matching objects.
dataset/ETHPy150Open duerrp/pyexperiment/pyexperiment/utils/HierarchicalMapping.py/HierarchicalMapping.__iter__--crossover with--dataset/ETHPy150Open ceralena/salt-state-graph/salt_state_graph/__init__.py/find