void () { final String[] errorString = new String[]{null}; final String extractedSuperName = getExtractedSuperName(); final String packageName = getTargetPackageName(); RecentsManager.getInstance(myProject).registerRecentEntry(getDestinationPackageRecentKey(), packageName); if (extractedSuperName.isEmpty()) { // TODO just disable OK button errorString[0] = getExtractedSuperNameNotSpecifiedMessage(); myExtractedSuperNameField.requestFocusInWindow(); } else { String nameError = validateName(extractedSuperName); if (nameError == null) { nameError = validateQualifiedName(packageName, extractedSuperName); } if (nameError != null) { errorString[0] = nameError; myExtractedSuperNameField.requestFocusInWindow(); } else { CommandProcessor.getInstance().executeCommand(myProject, () -> { try { preparePackage(); } catch (IncorrectOperationException | OperationFailedException e) { errorString[0] = e.getMessage(); myPackageNameField.requestFocusInWindow(); } }, RefactoringBundle.message("create.directory"), null); } } if (errorString[0] != null) { if (errorString[0].length() > 0) { CommonRefactoringUtil.showErrorMessage(myRefactoringName, errorString[0], getHelpId(), myProject); } return; } if (!checkConflicts()) return; executeRefactoring(); setDocCommentPolicySetting(getDocCommentPolicy()); closeOKAction(); }