void (@NotNull Project project, @NotNull VcsRevisionNumber revision, @NotNull FilePath filePath, boolean showAsTab, @NotNull CommittedChangeListProvider changelistProvider) { final String title = VcsBundle.message("paths.affected.in.revision", VcsUtil.getShortRevisionString(revision)); final BackgroundableActionLock lock = BackgroundableActionLock.getLock(project, VcsBackgroundableActions.COMMITTED_CHANGES_DETAILS, revision, filePath.getPath()); if (ChangeListViewerDialog.tryFocusExistingDialog(lock)) return; LoadingCommittedChangeListPanel loadingPanel = new LoadingCommittedChangeListPanel(project); loadingPanel.loadChangesInBackground(() -> loadCommittedChanges(revision, filePath, changelistProvider)); ChangeListViewerDialog.show(project, title, loadingPanel, lock, showAsTab); }