void (@NotNull RangeHighlighterEx highlighter) { if (myDocument.isInBulkUpdate() || myInlayModel.isInBatchMode()) return; // will be repainted later if (myDocumentChangeInProgress) { // postpone repaint request, as folding model can be in inconsistent state and so coordinate // conversions might give incorrect results myErrorStripeNeedsRepaint = true; return; } // optimization: there is no need to repaint error stripe if the highlighter is invisible on it if (myFoldingModel.isInBatchFoldingOperation()) { myErrorStripeNeedsRepaint = true; } else { int start = highlighter.getAffectedAreaStartOffset(); int end = highlighter.getAffectedAreaEndOffset(); myMarkupModel.repaint(start, end); } }