void (UsageInfo @NotNull [] usageInfos) { final JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(myProject); final PsiClass builderClass = myCreateNewBuilderClass ? createBuilderClass() : psiFacade.findClass(StringUtil.getQualifiedName(myPackageName, myClassName), GlobalSearchScope.projectScope(myProject)); if (builderClass == null) return; for (String propertyName : myParametersMap.keySet()) { final ParameterData parameterData = myParametersMap.get(propertyName); final PsiField field = createField(builderClass, parameterData); createSetter(builderClass, parameterData, field); } super.performRefactoring(usageInfos); final PsiMethod method = createMethodSignature(createMethodName()); if (builderClass.findMethodBySignature(method, false) == null) { builderClass.add(method); } //fix visibilities final PsiMethod constructor = getWorkingConstructor(); VisibilityUtil.escalateVisibility(constructor, builderClass); PsiClass containingClass = constructor.getContainingClass(); while (containingClass != null) { VisibilityUtil.escalateVisibility(containingClass, builderClass); containingClass = containingClass.getContainingClass(); } }