private BinarySearchTree CreateTree(int maxSize)
 {
     var tree = new BinarySearchTree();
     for (var i = 0; i < maxSize; i++)
     {
         tree.InsertRecursive(tree.Root, i);
     }
     return tree;
 }
 private BinarySearchTree CreateTreeFromList(List<int> list)
 {
     var tree = new BinarySearchTree();
     foreach (var number in list)
     {
         tree.InsertRecursive(tree.Root, number);
     }
     return tree;
 }
 private BinarySearchTree CreateTreeReverse(int minSize, int maxSize)
 {
     var tree = new BinarySearchTree();
     for (var i = maxSize - 1; i >= minSize; i--)
     {
         tree.InsertRecursive(tree.Root, i);
     }
     return tree;
 }