public int CompareKey(NodeKey keyCompareTo)
        {
            int ret = 0;

            if (this.objType != keyCompareTo.NodeKeyType)
            {
                return(-1); // throw new xBaseJException("Node key types do not match");
            }
            if (this.objType == dBaseType.C)
            {
                String s = (String)this.objKey;
                s = RebuildString(s);
                String t = keyCompareTo.ToString();
                t = RebuildString(t);
                return(s.CompareTo(t));
            }
            if (this.objType == dBaseType.F)
            {
                NodeFloat nf  = (NodeFloat)this.objKey;
                NodeFloat nft = (NodeFloat)keyCompareTo.objKey;
                return(nf.CompareTo(nft));
            }
            Double d = (Double)this.objKey;

            double d2 = d - keyCompareTo.GetDouble;

            if (d2 < 0.0)
            {
                return(-1);
            }
            if (d2 > 0.0)
            {
                return(1);
            }
            return(ret);
        }