void () { final List<PsiField> fields = getFieldsToExtract(); final List<PsiMethod> methods = getMethodsToExtract(); final List<PsiClass> classes = getClassesToExtract(); final String newClassName = getClassName(); final String packageName = getPackageName(); enumConstants.sort(Comparator.comparingInt(o -> o.getMember().getTextOffset())); final ExtractClassProcessor processor = new ExtractClassProcessor(sourceClass, fields, methods, classes, packageName, myDestinationFolderComboBox.selectDirectory( new PackageWrapper(PsiManager.getInstance(myProject), packageName), false), newClassName, myVisibilityPanel.getVisibility(), isGenerateAccessors(), isExtractAsEnum() ? enumConstants : Collections.emptyList(), createInner.isSelected()); if (processor.getCreatedClass() == null) { Messages.showErrorDialog(myVisibilityPanel, JavaRefactoringBundle.message("extract.delegate.unable.create.warning.message")); classNameField.requestFocusInWindow(); return; } invokeRefactoring(processor); }