private static @NotNull List<Pair<VirtualFile, DownloadableFileDescription>> findVirtualFiles(@NotNull List<? extends Pair<File, DownloadableFileDescription>> ioFiles) {
    List<Pair<VirtualFile,DownloadableFileDescription>> result = new ArrayList<>();
    for (final Pair<File, DownloadableFileDescription> pair : ioFiles) {
      final File ioFile = pair.getFirst();
      VirtualFile libraryRootFile = WriteAction.computeAndWait(() -> {
        final String url = VfsUtil.getUrlForLibraryRoot(ioFile);
        LocalFileSystem.getInstance().refreshAndFindFileByIoFile(ioFile);
        return VirtualFileManager.getInstance().refreshAndFindFileByUrl(url);
      });
      if (libraryRootFile != null) {
        result.add(Pair.create(libraryRootFile, pair.getSecond()));
      }
    }
    return result;
  }
private static @NotNull List<Pair<VirtualFile, DownloadableFileDescription>> findVirtualFiles(@NotNull List<? extends Pair<File, DownloadableFileDescription>> ioFiles)