void (@NotNull AnActionEvent e) { final Editor editor = e.getData(CommonDataKeys.EDITOR); PsiFile file = e.getData(CommonDataKeys.PSI_FILE); if (editor == null || file == null) return; final Project project = file.getProject(); if (!ReadonlyStatusHandler.ensureFilesWritable(project, file.getVirtualFile())) return; CommandProcessorEx commandProcessor = (CommandProcessorEx)CommandProcessorEx.getInstance(); CommandToken commandToken = commandProcessor.startCommand(project, e.getPresentation().getText(), e.getPresentation().getText(), UndoConfirmationPolicy.DEFAULT); try { WriteAction.run(() -> shuffleIds(file, editor)); } finally { commandProcessor.finishCommand(commandToken, null); } }