@Override
  public @NotNull StickyLine addStickyLine(@NotNull SourceID source, int startOffset, int endOffset, @Nullable String debugText) {
    if (startOffset >= endOffset) {
      throw new IllegalArgumentException(String.format(
        "sticky line endOffset %s should be less than startOffset %s", startOffset, endOffset
      ));
    }
    RangeHighlighter highlighter = myMarkupModel.addRangeHighlighter(
      STICKY_LINE_ATTRIBUTE,
      startOffset,
      endOffset,
      HighlighterLayer.SYNTAX,
      HighlighterTargetArea.EXACT_RANGE
    );
    StickyLineImpl stickyLine = new StickyLineImpl(highlighter.getDocument(), highlighter, debugText);
    highlighter.putUserData(STICKY_LINE_IMPL_KEY, stickyLine);
    highlighter.putUserData(STICKY_LINE_SOURCE, source);
    skipInAllEditors(highlighter);
    myIsCleared = false;
    return stickyLine;
  }
@Override
  public @NotNull StickyLine addStickyLine(@NotNull SourceID source, int startOffset, int endOffset, @Nullable String debugText)