'Possibly reorder a results iterator.
:param results: An iterator of WalkEntry objects, in the order returned
from the queue_cls.
:return: An iterator or list of WalkEntry objects, in the order
required by the Walker.'

def _reorder(self, results):

    if (self.order == ORDER_TOPO):
        results = _topo_reorder(results, self.get_parents)
    if self.reverse:
        results = reversed(list(results))
    return results
