docs: protected void generateScriptBuilderImpl() {
  		final List<StringConcatenationClient> topElements = generateTopElements(false, false);
  		final TypeReference script = getScriptBuilderImpl();
  		final TypeReference scriptInterface = getScriptBuilderInterface();
  		final StringConcatenationClient content = new StringConcatenationClient() {
  			@Override
  			protected void appendTo(TargetStringConcatenation it) {
  				it.append("@SuppressWarnings(\"all\")"); //$NON-NLS-1$
  				it.newLine();
  				it.append("public class "); //$NON-NLS-1$
  				it.append(script.getSimpleName());
  				it.append(" extends "); //$NON-NLS-1$
  				it.append(getAbstractBuilderImpl());
  				it.append(" implements "); //$NON-NLS-1$
  				it.append(scriptInterface);
  				it.append(" {"); //$NON-NLS-1$
  				it.newLineIfNotEmpty();
  				it.newLine();
  				it.append(generateFieldsAndMethods(false, false));
  				for (final StringConcatenationClient element : topElements) {
  					it.append(element);
  				}
  				it.append("}"); //$NON-NLS-1$
  				it.newLineIfNotEmpty();
  			}
  
  		};
  		final JavaFileAccess javaFile = getFileAccessFactory().createJavaFile(script, content);
  		javaFile.writeTo(getSrcGen());
  	}