/** * Iterate on all children or sub-children, in depth first * @return */ @Override public Iterator<TreeNodeResult<T>> iterator() { Iterator<TreeNodeResult<T>> result = new Iterator<TreeNodeResult<T>>() { protected Enumeration enumDepth = TreeNodeResult.this.depthFirstEnumeration(); @Override public boolean hasNext() { return enumDepth.hasMoreElements(); } @Override public TreeNodeResult<T> next() { TreeNodeResult<T> result = (TreeNodeResult<T>)enumDepth.nextElement(); return result; } @Override public void remove() { throw new UnsupportedOperationException("Not supported yet."); } }; return result; }