void (@Nullable Predicate<? super RangeHighlighter> filter) { if (myHighlightingFilter == filter) return; Predicate<? super RangeHighlighter> oldFilter = myHighlightingFilter; myHighlightingFilter = filter; for (RangeHighlighter highlighter : myDocumentMarkupModel.getDelegate().getAllHighlighters()) { boolean oldAvailable = oldFilter == null || oldFilter.test(highlighter); boolean newAvailable = filter == null || filter.test(highlighter); if (oldAvailable != newAvailable) { TextAttributes attributes = highlighter.getTextAttributes(getColorsScheme()); myMarkupModelListener.attributesChanged((RangeHighlighterEx)highlighter, true, EditorUtil.attributesImpactFontStyle(attributes), EditorUtil.attributesImpactForegroundColor(attributes)); myMarkupModel.getErrorStripeMarkersModel().attributesChanged((RangeHighlighterEx)highlighter, true); } } }