@Override
  @RequiresReadLock
  public @Nullable PsiFile findFile(@NotNull VirtualFile vFile) {
    if (vFile.isDirectory()) return null;

    if (!vFile.isValid()) {
      LOG.error(new InvalidVirtualFileAccessException(vFile));
      return null;
    }

    dispatchPendingEvents();
    FileViewProvider viewProvider = findViewProvider(vFile);
    return viewProvider.getPsi(viewProvider.getBaseLanguage());
  }
@Override
  @RequiresReadLock
  public @Nullable PsiFile findFile(@NotNull VirtualFile vFile)