private String _generate(final String packageName, final String clazzName) {
startTime = System.currentTimeMillis();
classStructureBuilder = implement(MarshallerFactory.class, packageName, clazzName);
classContext = classStructureBuilder.getClassDefinition().getContext();
mappingContext = new GeneratorMappingContext(this, classContext, classStructureBuilder.getClassDefinition(),
classStructureBuilder, new ArrayMarshallerCallback() {
@Override
public Statement marshal(final MetaClass type, final Statement value) {
createDemarshallerIfNeeded(type);
return value;