public static void InOrderTraversal(BinaryTree root)
        {
            if (root == null)
            {
                throw new ArgumentNullException("root");
            }

            Queue<BinaryTree> treeQueue = new Queue<BinaryTree>();
        }
        public static BinaryTree CreateFromList(List<int> inputArray)
        {
            if (inputArray == null || inputArray.Count() == 0)
            {
                throw new ArgumentNullException("inputArray");
            }

            BinaryTree head = new BinaryTree(inputArray[0]);
            for (int i = 1; i < inputArray.Count(); i++)
            {
                head.Add(inputArray[i]);
            }

            return head;
        }