public static <T> TreeNode<T> ofTree(final Tree<? extends T, ?> tree) {
		return ofTree(tree, Function.identity());
	}
Return a new {@code TreeNode} from the given source {@code tree}. The
whole tree is copied.

@param tree the source tree the new tree-node is created from
@param <T> the current tree value type
@return a new {@code TreeNode} from the given source {@code tree}
@throws NullPointerException if the source {@code tree} is {@code null}
jenetics.ext/src/main/java/io/jenetics/ext/util/TreeNode.java