@Override
	public boolean hasNext() {
		return subtree.hasNext() || children.hasNext() || root != null;
	}
Create a new (<em>property</em>) pre-order iterator from the given
arguments.

@param object the root object of the model
@param dtor the extractor function which extracts the direct
       extractable properties
@param mapper mapper function for creating the source object for the
       next level from the extracted objects of type {@code T}
@param identity objects, returned by this function are used for identifying
       already visited source objects, for preventing infinite loops
jenetics.incubator/src/main/java/io/jenetics/incubator/beans/internal/PostOrderIterator.java