public void InsertInOrder(int data)
            {
                var treeNode = new CustomTreeNode(data);

                // val to be created is less than current value
                // traverse left
                if (data <= Data)
                {
                    // traverse left
                    if (Left == null)
                    {
                        Left = new CustomTreeNode(data);
                    }
                    else
                    {
                        Left.InsertInOrder(data);
                    }
                }
                else
                {
                    // traverse right
                    if (Right == null)
                    {
                        Right = new CustomTreeNode(data);
                    }
                    else
                    {
                        Right.InsertInOrder(data);
                    }
                }

                // increase size either way
                Size++;
            }
 public void InsertInOrder(int data)
 {
     if (root == null)
     {
         root = new CustomTreeNode(data);
     }
     else
     {
         root.InsertInOrder(data);
     }
 }