JavaIntroduceParameterObjectClassDescriptor () { final boolean useExistingClass = useExistingClass(); final String className; final String packageName; final boolean createInnerClass = myCreateInnerClassRadioButton.isSelected(); if (createInnerClass) { className = getInnerClassName(); packageName = ""; } else if (useExistingClass) { final String existingClassName = getExistingClassName(); className = StringUtil.getShortName(existingClassName); packageName = StringUtil.getPackageName(existingClassName); } else { packageName = getPackageName(); className = getClassName(); } final String newVisibility = myEscalateVisibilityCheckBox.isEnabled() && myEscalateVisibilityCheckBox.isSelected() ? VisibilityUtil.ESCALATE_VISIBILITY : null; final MoveDestination moveDestination = ((DestinationFolderComboBox)myDestinationCb) .selectDirectory(new PackageWrapper(PsiManager.getInstance(myProject), packageName), false); final PsiParameterList parameterList = mySourceMethod.getParameterList(); final List<ParameterInfoImpl> parameters = new ArrayList<>(); for (VariableData data : myParameterTablePanel.getVariableData()) { if (data.passAsParameter) { int oldParameterIndex = parameterList.getParameterIndex((PsiParameter)data.variable); parameters.add(ParameterInfoImpl.create(oldParameterIndex).withName(data.name).withType(data.type)); } } final ParameterInfoImpl[] infos = parameters.toArray(new ParameterInfoImpl[0]); return new JavaIntroduceParameterObjectClassDescriptor(className, packageName, moveDestination, useExistingClass, createInnerClass, newVisibility, infos, mySourceMethod, myGenerateAccessorsCheckBox.isSelected()); }