docs: def find_path(self, test_function=None, on_targets=False):
          """
          General helper method that iterates breadth-first over the referential_domain's
          cells and returns a path where the test_function is True
          """
          assert self.has_referential_domain(), "need context set"
  
          if not test_function:
              test_function = lambda x, y: True
             
          def find_path_inner(part, prefix):
              name, structure = part
              if test_function(name, structure):
                  yield prefix + [name]
              if isinstance(structure, DictCell):
                  for sub_structure in structure:
                      for prefix2 in find_path_inner(sub_structure,\
                              prefix[:] + [name]):
                          yield prefix2
  
          prefix = []
          if on_targets:
              # apply search to the first target
              results = []
              for _, instance in self.iter_singleton_referents():
                  for part in instance:
                      for entry in find_path_inner(part, prefix[:]):
                          results.append(['target'] + entry)
                  while results:
                      yield results.pop()
                  break # only use first instance
          else:
              # apply search to self
              for part in self:
                  for entry in find_path_inner(part, prefix[:]):
                      yield entry