void (@NotNull Project project, @NotNull VcsLogUiEx logUi, @NotNull Hash hash) { Future<Boolean> future = VcsLogNavigationUtil.jumpToHash(logUi, hash.asString(), false, true); if (!future.isDone()) { ProgressManager.getInstance().run(new Task.Backgroundable(project, GitBundle.message("git.log.show.commit.in.log.process", hash.asString()), false/*can not cancel*/, PerformInBackgroundOption.ALWAYS_BACKGROUND) { @Override public void run(@NotNull ProgressIndicator indicator) { try { future.get(); } catch (CancellationException | InterruptedException ignored) { } catch (ExecutionException e) { LOG.error(e); } } }); } }