'Returns all successors to the specific node.
:param node: A node in the graph.
:return:     A set of nodes that are all successors to the given node.
:rtype:      set'

def all_successors(self, node, skip_reached_fixedpoint=False):

    successors = set()
    stack = [node]
    while stack:
        n = stack.pop()
        successors.add(n)
        stack.extend((succ for succ in self.successors(n) if ((succ not in successors) and ((not skip_reached_fixedpoint) or (succ not in self._reached_fixedpoint)))))
    return successors
