RepositoryLocation (@NotNull AbstractVcs vcs, @NotNull FilePath filePath, boolean silent) { ThrowableComputable<RepositoryLocation, RuntimeException> result = () -> { CommittedChangesProvider committedChangesProvider = vcs.getCommittedChangesProvider(); return committedChangesProvider != null ? committedChangesProvider.getLocationFor(filePath) : null; }; return !silent && ApplicationManager.getApplication().isDispatchThread() ? ProgressManager.getInstance() .runProcessWithProgressSynchronously(result, VcsBundle.message("progress.title.discovering.location", filePath.getPresentableUrl()), true, myProject) : result.compute(); }