code: def find_related(self, fullname):
          
          stack = [fullname]
          found = set()
  
          while stack:
              name = stack.pop(0)
              names = self.find_related_imports(name)
              stack.extend(set(names).difference(set(found).union(stack)))
              found.update(names)
  
          found.discard(fullname)
          return sorted(found)
docs: Return a list of non-stdlib modules that are imported directly or
          indirectly by `fullname`, plus their parents.
  
          This method is like :py:meth:`find_related_imports`, but also
          recursively searches any modules which are imported by `fullname`.
  
          :param fullname: Fully qualified name of an _already imported_ module
              for which source code can be retrieved
          :type fullname: str