internal RangeTreeNode <T> Insert(T value)
        {
            var newNode = new RangeTreeNode <T>(value);

            var existing = tree.FindNode(newNode);

            if (existing != null)
            {
                existing.Value.Values.Add(value);
                return(existing.Value);
            }

            tree.Insert(newNode);
            return(newNode);
        }
 public int CompareTo(RangeTreeNode <T> other)
 {
     return(tree.comparer.Compare(Value, other.Value));
 }