@NotNull
 @Override
 public LogicalPosition offsetToLogicalPosition(int offset) {
   if (myUpdateInProgress || !prepareToMapping()) {
     return myEditor.offsetToLogicalPosition(offset, false);
   }
   myActive++;
   try {
     myOffsetToLogicalTask.input = offset;
     executeSafely(myOffsetToLogicalTask);
     return myOffsetToLogicalTask.output;
   } finally {
     myActive--;
   }
 }