void (@NotNull FilePath filePath, @Nullable VcsRevisionNumber startRevisionNumber, @NotNull VcsKey vcsKey, @NotNull BackgroundableActionLock lock, @NotNull VcsHistorySessionConsumer partner, boolean canUseCache) { if (lock.isLocked()) return; lock.lock(); ProgressManager.getInstance().run(new Task.Backgroundable(myProject, VcsBundle.message("loading.file.history.progress"), true) { @Override public void run(@NotNull ProgressIndicator indicator) { indicator.setText(VcsUtil.getPathForProgressPresentation(filePath.getIOFile())); indicator.setIndeterminate(true); reportHistory(filePath, startRevisionNumber, vcsKey, partner, canUseCache); } @Override public void onFinished() { lock.unlock(); } }); }