void (@NonNls StringBuilder out) { out.append("\t").append(myVisibility).append(" ").append(className).append('('); for (Iterator<ParameterSpec> iterator = fields.iterator(); iterator.hasNext(); ) { final ParameterSpec field = iterator.next(); final PsiParameter parameter = field.getParameter(); outputAnnotationString(parameter, out); out.append(getSettings().getCustomSettings(JavaCodeStyleSettings.class).GENERATE_FINAL_PARAMETERS ? " final " : ""); final String parameterName = parameter.getName(); final PsiType type = field.getType(); final PsiType fieldType = parameter.isVarArgs() && type instanceof PsiArrayType ? new PsiEllipsisType(((PsiArrayType)type).getComponentType()) : type; out.append(' ').append(fieldType.getCanonicalText()).append(' ').append(parameterName); if (iterator.hasNext()) { out.append(", "); } } out.append(")\n"); out.append("\t{\n"); for (final ParameterSpec field : fields) { generateFieldAssignment(out, field.getParameter().getName(), field.getName()); } out.append("\t}\n"); }