code: protected final boolean advance() {
      checkState(!successorIterator.hasNext());
      if (!nodeIterator.hasNext()) {
        return false;
      }
      node = nodeIterator.next();
      successorIterator = graph.successors(node).iterator();
      return true;
    }
docs: Called after {@link #successorIterator} is exhausted. Advances {@link #node} to the next node
  and updates {@link #successorIterator} to iterate through the successors of {@link #node}.