private static void showDialog(@NotNull Project project,
                                 @Nullable @NlsContexts.DialogTitle String title,
                                 @NotNull LoadingCommittedChangeListPanel loadingPanel,
                                 @Nullable BackgroundableActionLock lock) {
    ChangeListViewerDialog dlg = new ChangeListViewerDialog(project, loadingPanel);
    if (title != null) {
      dlg.setTitle(title);
    }

    if (lock != null) {
      lock.lock();
      ClientProperty.put(dlg.getWindow(), CHANGES_DETAILS_WINDOW_KEY, lock);
      Disposer.register(dlg.getDisposable(), lock::unlock);
    }

    dlg.show();
  }
private static void showDialog(@NotNull Project project,
                                 @Nullable @NlsContexts.DialogTitle String title,
                                 @NotNull LoadingCommittedChangeListPanel loadingPanel,
                                 @Nullable BackgroundableActionLock lock)