'Reset the internal node traversal state. Must be called prior to visiting future nodes.
:return: None'

def reset(self):

    self._sorted_nodes.clear()
    self._node_to_index.clear()
    self._reached_fixedpoint.clear()
    for (i, n) in enumerate(self.sort_nodes()):
        self._node_to_index[n] = i
        self._sorted_nodes.add(n)
