@Override
  public void invoke(@NotNull Project project, Editor editor, PsiFile file) throws IncorrectOperationException {
    if (myModules.size() == 1) {
      moveClass(project, editor, file, myModules.keySet().iterator().next());
    }
    else {
      LOG.assertTrue(editor != null);
      JBPopupFactory.getInstance()
        .createPopupChooserBuilder(new ArrayList<>(myModules.keySet()))
        .setTitle(QuickFixBundle.message("choose.class.to.move.popup.title"))
        .setRenderer(new PsiElementListCellRenderer<PsiClass>() {
          @Override
          public String getElementText(PsiClass psiClass) {
            return psiClass.getQualifiedName();
          }

          @Override
          protected @Nullable String getContainerText(PsiClass element, String name) {
            return null;
          }
        })
        .setMovable(false)
        .setResizable(false)
        .setRequestFocus(true)
        .setItemChosenCallback(value -> moveClass(project, editor, file, value))
        .createPopup()
        .showInBestPositionFor(editor);
    }
  }
@Override
  public void invoke(@NotNull Project project, Editor editor, PsiFile file)