@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();
 }