text: public override object Format(Passage[] passages, string content){StringBuilder sb = new StringBuilder();int pos = 0;foreach (Passage passage in passages){if (passage.startOffset > pos && pos > 0){sb.Append(m_ellipsis);}pos = passage.startOffset;for (int i = 0; i < passage.numMatches; i++){int start = passage.matchStarts[i];int end = passage.matchEnds[i];if (start > pos){Append(sb, content, pos, start);}if (end > pos){sb.Append(m_preTag);Append(sb, content, Math.Max(pos, start), end);sb.Append(m_postTag);pos = end;}}Append(sb, content, pos, Math.Max(pos, passage.endOffset));pos = passage.endOffset;}return sb.ToString();}