private synchronized @NotNull LineOffsets getLineOffsets(final @NotNull VirtualFile file) {
    LineOffsets offsets = myLineOffsetsMap.get(file);
    if (offsets != null && file.getModificationStamp() == offsets.myFileModificationStamp) {
      return offsets;
    }

    offsets = loadLineOffsets(file);
    myLineOffsetsMap.put(file, offsets);
    return offsets;
  }
private synchronized @NotNull LineOffsets getLineOffsets(final @NotNull VirtualFile file)