docs: def successor_func(self, path):
          """
          Callback routine that takes in a path, and returns all feasible successors to path group. This callback routine
          should be passed to the keyword argument "successor_func" of PathGroup.step().
  
          :param path: A Path instance.
          :return: A list of all feasible Path successors.
          """
  
          whitelist = self.get_whitelisted_statements(path.addr)
          last_stmt = self.get_last_statement_index(path.addr)
  
          # pass in those arguments
          successors = path.step(
              stmt_whitelist=whitelist,
              last_stmt=None
          )
  
          # further filter successors based on the annotated CFG
          taken_successors = [ ]
          for suc in successors:
              try:
                  taken = self.should_take_exit(path.addr, suc.addr)
              except AngrExitError:
                  l.debug("Got an unknown exit that AnnotatedCFG does not know about: %#x -> %#x", path.addr, suc.addr)
                  continue
  
              if taken:
                  taken_successors.append(suc)
  
          return taken_successors