void (@NotNull StringBuilder text, PsiParameter @NotNull [] parameters, @NotNull final ClassNameProvider classNameProvider, @Nullable ExpressionContext context) { Set<String> usedNames = new HashSet<>(); text.append('('); //writes myParameters int i = 0; while (i < parameters.length) { PsiParameter parameter = parameters[i]; if (parameter == null) continue; if (parameter instanceof PsiCompiledElement) { parameter = (PsiParameter)((PsiCompiledElement)parameter).getMirror(); } if (i > 0) text.append(", "); //append ',' if (!classNameProvider.forStubs()) { ModifierListGenerator.writeModifiers(text, parameter.getModifierList(), ModifierListGenerator.JAVA_MODIFIERS, true); } if (context != null) { if (context.analyzedVars.toMakeFinal(parameter) && !parameter.hasModifierProperty(PsiModifier.FINAL)) { text.append(PsiModifier.FINAL).append(' '); } TypeWriter.writeType(text, context.typeProvider.getParameterType(parameter), parameter, classNameProvider); } else { TypeWriter.writeType(text, parameter.getType(), parameter, classNameProvider); } text.append(' '); text.append(generateUniqueName(usedNames, parameter.getName())); i++; } text.append(')'); text.append(' '); }