void (RangeHighlighterEx highlighter) { if (!highlighter.isAfterEndOfLine()) { return; } int startOffset = highlighter.getStartOffset(); int lineEndOffset = myDocument.getLineEndOffset(myDocument.getLineNumber(startOffset)); if (myEditor.getFoldingModel().isOffsetCollapsed(lineEndOffset)) return; Point2D lineEnd = myView.offsetToXY(lineEndOffset, true, false); float x = (float)lineEnd.getX(); int y = (int)lineEnd.getY() + myYShift; TextAttributes attributes = highlighter.getTextAttributes(myEditor.getColorsScheme()); paintBackground(attributes, x, y, myView.getPlainSpaceWidth()); if (attributes != null) { attributes.forEachEffect( (type, color) -> paintTextEffect(x, x + myView.getPlainSpaceWidth() - 1, y + myAscent, color, type, false)); } }