void (@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<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); } }