public BinarySearchTree <T> Insert(T value) { Guard.Against.Null(value, nameof(value)); if (root == null) { root = new Node <T>(value); } else { root.Insert(value); } return(this); }