@Override
  public void actionPerformed(@NotNull AnActionEvent e) {
    if (!RollbackFilesAction.Manager.checkClmActive(e)) return;

    Project project = e.getRequiredData(CommonDataKeys.PROJECT);
    List<FilePath> missingFiles = e.getData(ChangesListView.MISSING_FILES_DATA_KEY);
    Collection<? extends Change> changes = getSelectedChanges(e);
    Set<VirtualFile> modifiedWithoutEditing = getModifiedWithoutEditing(e, project);
    if (modifiedWithoutEditing != null) {
      changes = filter(changes, change -> !modifiedWithoutEditing.contains(change.getVirtualFile()));
    }


    FileDocumentManager.getInstance().saveAllDocuments();

    boolean hasChanges = false;
    if (!ContainerUtil.isEmpty(missingFiles)) {
      hasChanges = true;
      new RollbackDeletionAction().actionPerformed(e);
    }

    if (!ContainerUtil.isEmpty(modifiedWithoutEditing)) {
      hasChanges = true;
      rollbackModifiedWithoutEditing(project, modifiedWithoutEditing);
    }

    if (!changes.isEmpty()) {
      RollbackChangesDialog.rollbackChanges(project, changes);
    }
    else if (!hasChanges) {
      RollbackChangesDialog.rollbackChanges(project);
    }
  }
@Override
  public void actionPerformed(@NotNull AnActionEvent e)