public override bool Equals(object _other)
        {
            CurveSelection other = _other as CurveSelection;

            if (ReferenceEquals(other, null))
            {
                return(false);
            }
            if (ReferenceEquals(other, this))
            {
                return(true);
            }
            return(other.curveID == curveID && other.key == key && other.type == type);
        }
        public int CompareTo(object _other)
        {
            CurveSelection other = (CurveSelection)_other;
            int            cmp   = curveID - other.curveID;

            if (cmp != 0)
            {
                return(cmp);
            }

            cmp = key - other.key;
            if (cmp != 0)
            {
                return(cmp);
            }

            return((int)type - (int)other.type);
        }