@Override @Nullable public Segment getRange() { if (hasRange()) { Document document = getDocumentToSynchronize(); if (document != null) { PsiDocumentManagerBase documentManager = myManager.getPsiDocumentManager(); List<DocumentEvent> events = documentManager.getEventsSinceCommit(document); if (!events.isEmpty()) { return myMarkerCache.getUpdatedRange( this, (FrozenDocument) documentManager.getLastCommittedDocument(document), events); } } } return calcPsiRange(); }