docs: protected void generateElementSourceAppender() {
  		final List<TopElementDescription> topElements = generateTopElements(false, true);
  		for (final TopElementDescription element : topElements) {
  			final TypeReference appender = element.getElementDescription().getAppenderType();
  			final StringConcatenationClient content = new StringConcatenationClient() {
  				@Override
  				protected void appendTo(TargetStringConcatenation it) {
  					it.append("/** Source adapter of a " + getLanguageName() //$NON-NLS-1$
  							+ " " + element.getElementDescription().getElementType().getSimpleName() //$NON-NLS-1$
  							+ "."); //$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(element.getElementDescription().getBuilderInterfaceType());
  					it.append(" {"); //$NON-NLS-1$
  					it.newLineIfNotEmpty();
  					it.newLine();
  					it.append(generateAppenderMembers(appender.getSimpleName(),
  							element.getElementDescription().getBuilderInterfaceType(),
  							getGeneratedTypeAccessor(element.getElementDescription().getElementType())));
  					it.append(element.getContent());
  					for (final StringConcatenationClient cons : generateMembers(element.getConstructors(), element,
  							false, true, true)) {
  						it.append(cons);
  					}
  					for (final StringConcatenationClient mbr : generateMembers(element.getNamedMembers(), element,
  							false, true, true)) {
  						it.append(mbr);
  					}
  					for (final StringConcatenationClient mbr : generateMembers(element.getUnnamedMembers(), element,
  							false, true, false)) {
  						it.append(mbr);
  					}
  					it.append("}"); //$NON-NLS-1$
  					it.newLineIfNotEmpty();
  					it.newLine();
  				}
  			};
  			final JavaFileAccess javaFile = getFileAccessFactory().createJavaFile(appender, content);
  			javaFile.writeTo(getSrcGen());
  		}
  	}