private void addHighlighter(@NotNull Range range, boolean isIgnored, @NotNull ColorKey colorKey) {
    TextRange textRange = DiffUtil.getLinesRange(myEditor.getDocument(), range.getLine1(), range.getLine2(), false);
    TextAttributes textAttributes = new LineStatusMarkerDrawUtil.DiffStripeTextAttributes(range.getType());

    RangeHighlighter highlighter = myEditor.getMarkupModel()
      .addRangeHighlighter(textRange.getStartOffset(), textRange.getEndOffset(),
                           DiffDrawUtil.LST_LINE_MARKER_LAYER, textAttributes,
                           HighlighterTargetArea.LINES_IN_RANGE);
    highlighter.setThinErrorStripeMark(true);
    highlighter.setLineMarkerRenderer(new ActiveGutterRenderer() {
      @Override
      public void paint(@NotNull Editor editor, @NotNull Graphics g, @NotNull Rectangle r) {
        LineStatusMarkerDrawUtil.paintRange(g, myEditor, range, 0, isIgnored);
      }

      @Override
      public boolean canDoAction(@NotNull MouseEvent e) {
        return LineStatusMarkerDrawUtil.isInsideMarkerArea(e);
      }

      @Override
      public void doAction(@NotNull Editor editor, @NotNull MouseEvent e) {
        myDispatcher.getMulticaster().selectionInPreviewChanged(colorKey.getExternalName());
      }

      @NotNull
      @Override
      public String getAccessibleName() {
        return DiffBundle.message("vcs.marker.changed.line");
      }
    });
  }
private void addHighlighter(@NotNull Range range, boolean isIgnored, @NotNull ColorKey colorKey)