void (@NotNull AnActionEvent e) { Library library = getLibrary(); if (library == null) return; List<String> allUrls = new ArrayList<>(); for (OrderRootType rootType : OrderRootType.getAllTypes()) { Collections.addAll(allUrls, library.getUrls(rootType)); } new Task.Backgroundable(e.getProject(), LangBundle.message("progress.title.refreshing")) { @Override public void run(@NotNull ProgressIndicator indicator) { indicator.setIndeterminate(false); for (int i = 0; i < allUrls.size(); i++) { String url = allUrls.get(i); VirtualFileManager.getInstance().refreshAndFindFileByUrl(url); indicator.setFraction(((double) i) / allUrls.size()); } } }.queue(); }