@Override
  public void actionPerformed(@NotNull AnActionEvent e) {
    final Project project = e.getProject();
    if (project == null) return;
    CompilerManager compilerManager = CompilerManager.getInstance(project);
    CompileScope scope = compilerManager.createProjectCompileScope(project);
    if (!compilerManager.isUpToDate(scope)) {
      int result = Messages.showYesNoCancelDialog(
        project, JavaRefactoringBundle.message("generate.module.descriptors.rebuild.message"), getTitle(), null);
      switch (result) {
        case Messages.YES:
          compilerManager.compile(scope, (aborted, errors, warnings, compileContext) -> {
            if (!aborted && errors == 0) generate(project);
          });
          return;
        case Messages.CANCEL:
          return;
      }
    }
    generate(project);
  }
@Override
  public void actionPerformed(@NotNull AnActionEvent e)