code: def _call_fan(branch, calls, executable):
      
      #Since we don't keep track of the specific logic in the executables
      #it is possible that we could get a infinite recursion of executables
      #that keep calling each other.
      if executable in branch:
          return
      branch.append(executable)
      
      if executable.name in calls:
          for caller in calls[executable.name]:
              twig = []
              _call_fan(twig, calls, caller)
              branch
docs: Appends a list of callees to the branch for each parent
      in the call list that calls this executable.