void (int offset) { for (int j = i - 2; j >= 0; j--) { RangeHighlighterEx highlighter = highlighters[j]; if (skipHighlighter(highlighter)) continue; if (getAlignedStartOffset(highlighter) > offset) { myNextHighlighter = highlighter; i = j + 1; } else { break; } } myMarkupModel.processRangeHighlightersOverlappingWith(offset, offset, h -> { if ((!myOnlyFullLine || h.getTargetArea() == HighlighterTargetArea.LINES_IN_RANGE) && (!myOnlyFontOrForegroundAffecting || EditorUtil.attributesImpactFontStyleOrColor(h.getTextAttributes(myColorsScheme))) && !skipHighlighter(h)) { myCurrentHighlighters.add(h); } return true; }); }