public ClassifiedRange(string text, int start, int length, ClassifiedRange enclosingRange = null)
        {
            this.text = text.Substring(start, length);

            this.start  = start;
            this.length = length;

            if (enclosingRange != null)
            {
                classification     = enclosingRange.classification;
                hyperlinks         = enclosingRange.hyperlinks;
                definitionSymbolId = enclosingRange.definitionSymbolId;
                definitionKind     = enclosingRange.definitionKind;
                searchString       = enclosingRange.searchString;
                fullName           = enclosingRange.fullName;
            }
        }
        public ClassifiedRange(string text, int start, int length, ClassifiedRange enclosingRange = null)
        {
            this.text = text.Substring(start, length);

            this.start = start;
            this.length = length;

            if (enclosingRange != null)
            {
                classification = enclosingRange.classification;
                hyperlinks = enclosingRange.hyperlinks;
                definitionSymbolId = enclosingRange.definitionSymbolId;
                definitionKind = enclosingRange.definitionKind;
                searchString = enclosingRange.searchString;
                fullName = enclosingRange.fullName;
            }
        }