code: def connect_generations(self):
          
          # for src in list(self.sources.values()):
          for src in self.sources.values():
              for _child in src.imports:
                  if _child in self.sources:
                      child = self.sources[_child]
                      child.imported_by.add(src.name)
docs: Traverse depth-first adding imported_by.