code: protected void generateFormalParameterAppender() {
  		final CodeElementExtractor.ElementDescription parameter = getCodeElementExtractor().getFormalParameter();
  		final String accessor = "get" //$NON-NLS-1$
  				+ Strings.toFirstUpper(parameter.getElementType().getSimpleName()) + "()"; //$NON-NLS-1$
  		final TypeReference builderInterface = getFormalParameterBuilderInterface();
  		final TypeReference appender = getCodeElementExtractor().getElementAppenderImpl("FormalParameter"); //$NON-NLS-1$
  		final StringConcatenationClient content = new StringConcatenationClient() {
  			@Override
  			protected void appendTo(TargetStringConcatenation it) {
  				it.append("/** Appender of a " + getLanguageName() //$NON-NLS-1$
  						+ " formal parameter."); //$NON-NLS-1$
  				it.newLine();
  				it.append(" */"); //$NON-NLS-1$
  				it.newLine();
  				it.append("@SuppressWarnings(\"all\")"); //$NON-NLS-1$
  				it.newLine();
  				it.append("public class "); //$NON-NLS-1$
  				it.append(appender.getSimpleName());
  				it.append(" extends "); //$NON-NLS-1$
  				it.append(getCodeElementExtractor().getAbstractAppenderImpl());
  				it.append(" implements "); //$NON-NLS-1$
  				it.append(builderInterface);
  				it.append(" {"); //$NON-NLS-1$
  				it.newLineIfNotEmpty();
  				it.newLine();
  				it.append(generateAppenderMembers(appender.getSimpleName(), builderInterface, accessor));
  				it.append(generateMembers(false, true));
  				it.append("}"); //$NON-NLS-1$
  				it.newLineIfNotEmpty();
  				it.newLine();
  			}
  		};
  		final JavaFileAccess javaFile = getFileAccessFactory().createJavaFile(appender, content);
  		javaFile.writeTo(getSrcGen());
  	}
docs: Generate the formal parameter appender.