public BSTMapNode(TKey key, TValue value, int subTreeSize, BSTMapNode <TKey, TValue> parent, BSTMapNode <TKey, TValue> left, BSTMapNode <TKey, TValue> right)
 {
     Key        = key;
     Value      = value;
     Parent     = parent;
     LeftChild  = left;
     RightChild = right;
 }
        /// <summary>
        /// Compares to.
        /// </summary>
        public virtual int CompareTo(BSTMapNode <TKey, TValue> other)
        {
            if (other == null)
            {
                return(-1);
            }

            return(this.Key.CompareTo(other.Key));
        }