private void paintLineMarkerSeparator(RangeHighlighter marker) {
      Color separatorColor = marker.getLineSeparatorColor();
      LineSeparatorRenderer lineSeparatorRenderer = marker.getLineSeparatorRenderer();
      if (separatorColor == null && lineSeparatorRenderer == null) {
        return;
      }
      boolean isTop = marker.getLineSeparatorPlacement() == SeparatorPlacement.TOP;
      int edgeOffset = isTop ? myDocument.getLineStartOffset(myDocument.getLineNumber(marker.getStartOffset()))
                             : myDocument.getLineEndOffset(myDocument.getLineNumber(marker.getEndOffset()));
      int visualLine = myView.offsetToVisualLine(edgeOffset, !isTop);
      int y = (isTop ? EditorUtil.getVisualLineAreaStartY(myEditor, visualLine)
                     : EditorUtil.getVisualLineAreaEndY(myEditor, visualLine))
              - 1 + myYShift;
      int startX = myCorrector.lineSeparatorStart(myClip.x);
      int endX = myCorrector.lineSeparatorEnd(myClip.x + myClip.width);
      myGraphics.setColor(separatorColor);
      if (lineSeparatorRenderer != null) {
        lineSeparatorRenderer.drawLine(myGraphics, startX, endX, y);
      }
      else {
        LinePainter2D.paint(myGraphics, startX, y, endX, y);
      }
    }
private void paintLineMarkerSeparator(RangeHighlighter marker)