code: public static <T> TreeNode<T> copy(TreeDef<T> treeDef, T root) {
  		return copy(treeDef, root, Function.identity());
  	}
docs: Creates a hierarchy of TreeNodes that copies the structure and content of the given tree.