public static void performIntroduceWithDialog(IntroduceOperation operation,
                                                @NlsContexts.DialogTitle String dialogTitle,
                                                IntroduceValidator validator, String id, Consumer<? super IntroduceOperation> performRefactoringCallback) {
    final Project project = operation.getProject();
    if (operation.getName() == null) {
      PyIntroduceDialog dialog = new PyIntroduceDialog(project, dialogTitle, validator, id, operation);
      if (!dialog.showAndGet()) {
        return;
      }
      operation.setName(dialog.getName());
      operation.setReplaceAll(dialog.doReplaceAllOccurrences());
      operation.setInitPlace(dialog.getInitPlace());
    }

    performRefactoringCallback.accept(operation);
  }
public static void performIntroduceWithDialog(IntroduceOperation operation,
                                                @NlsContexts.DialogTitle String dialogTitle,
                                                IntroduceValidator validator, String id, Consumer<? super IntroduceOperation> performRefactoringCallback)