public static IBinarySearchTree <T> Clone <T>(this IBinarySearchTree <T> tree) { var newTree = tree.CloneNode(); tree.PostOrder(v => v.CloneNode()); return(newTree); }