private void AddNode(TreeNode <T> node, T value) { if (value.CompareTo(node.Value) < 0) { if (node.Left == null) { node.AddLeftNode(value); } else { this.AddNode(node.Left, value); } } else { if (node.Right == null) { node.AddRightNode(value); } else { this.AddNode(node.Right, value); } } }