@Override
	public T next() {
		final T result;
		if (_subtree.hasNext()) {
			result = _subtree.next();
		} else if (_children.hasNext()) {
			_subtree = new TreeNodePostorderIterator<>(_children.next());
			result = _subtree.next();
		} else {
			result = _root;
			_root = null;
		}

		return result;
	}
Create a new postorder iterator of the given tree {@code root}.

@param root the root node of the tree
@throws NullPointerException if the given {@code root} node is
       {@code null}
jenetics.ext/src/main/java/io/jenetics/ext/util/TreeNodePostorderIterator.java