@NotNull
  static MyMarkupIterator createMarkupIterator(@NotNull EditorHighlighter highlighter,
                                               @NotNull CharSequence text,
                                               @NotNull EditorColorsScheme schemeToUse,
                                               @Nullable MarkupModel markupModel,
                                               int startOffsetToUse,
                                               int endOffset) {

    CompositeRangeIterator iterator =  new CompositeRangeIterator(
      schemeToUse,
      new HighlighterRangeIterator(highlighter, startOffsetToUse, endOffset),
      new MarkupModelRangeIterator(markupModel, schemeToUse, startOffsetToUse, endOffset)
    );

    return new MyMarkupIterator(text, iterator, schemeToUse);
  }
@NotNull
  static MyMarkupIterator createMarkupIterator(@NotNull EditorHighlighter highlighter,
                                               @NotNull CharSequence text,
                                               @NotNull EditorColorsScheme schemeToUse,
                                               @Nullable MarkupModel markupModel,
                                               int startOffsetToUse,
                                               int endOffset)