private void printParametersAnnotation(PrintWriter pw, PositionalParamSpec spec, String indent) {
pw.printf("%s@%s", indent, importer.getImportedName(Parameters.class.getCanonicalName()));
indent = String.format(",%n%s ", indent);
String sep = "(";
sep = append(pw, sep, indent, "index = \"%s\"", spec.index().toString(), spec.index().isUnspecified());
sep = appendStringArray(pw, sep, indent, "description = %s", spec.description(), EMPTY_ARRAY);
sep = append(pw, sep, indent, "arity = \"%s\"", spec.arity().toString(), spec.arity().isUnspecified() ? spec.arity().toString() : "");
sep = append(pw, sep, indent, "paramLabel = \"%s\"", spec.paramLabel(), "<" + argElementName(spec) + ">");
sep = append(pw, sep, indent, "hideParamSyntax = %s", spec.hideParamSyntax(), false);
sep = appendTypeInfo(pw, sep, indent, spec.typeInfo());
sep = appendTypeConverter(pw, sep, indent, spec.converters());
sep = append(pw, sep, indent, "split = \"%s\"", spec.splitRegex(), "");
sep = append(pw, sep, indent, "hidden = %s", spec.hidden(), false);
sep = append(pw, sep, indent, "defaultValue = \"%s\"", spec.defaultValue() == null ? "__no_default_value__" : spec.defaultValue(), "__no_default_value__");
sep = append(pw, sep, indent, "showDefaultValue = %s", spec.showDefaultValue(), CommandLine.Help.Visibility.ON_DEMAND);
sep = appendCompletionCandidates(pw, sep, indent, spec);
sep = append(pw, sep, indent, "interactive = %s", spec.interactive(), false);
sep = append(pw, sep, indent, "descriptionKey = \"%s\"", spec.descriptionKey(), "");
if (!"(".equals(sep)) {
pw.print(")");
}
}