@Override
  public ITreeNode<ObjectType> next() {
    final ITreeNode<ObjectType> current = m_path.pop();

    for (final ITreeNode<ObjectType> child : current.getChildren()) {
      m_path.add(child);
    }

    return current;
  }
Creates a new iterator object.

@param rootNode Root node where iteration begins.
java/zylib/src/main/java/com/google/security/zynamics/zylib/types/trees/DepthFirstIterator.java