public SearchResultNode(IDocument document, SearchResult result)
        {
            drawDefault   = false;
            this.result   = result;
            startPosition = result.GetStartPosition(document);
            Point endPosition = result.GetEndPosition(document);

            positionText = "(" + (startPosition.Y + 1) + ", " + (startPosition.X + 1) + ") ";

            LineSegment line = document.GetLineSegment(startPosition.Y);

            drawableLine = new DrawableLine(document, line, RegularMonospacedFont, BoldMonospacedFont);
            drawableLine.SetBold(0, drawableLine.LineLength, false);
            if (startPosition.Y == endPosition.Y)
            {
                drawableLine.SetBold(startPosition.X, endPosition.X, true);
            }

            specialText = result.DisplayText;
            if (specialText != null)
            {
                displayText = positionText + specialText;
            }
            else
            {
                displayText = positionText + document.GetText(line).Replace("\t", "    ");
            }
            Text = displayText;
        }