@Override
  public void actionPerformed(@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);
    }
  }
@Override
  public void actionPerformed(@NotNull AnActionEvent e)