}
public void addMarshaller(final MetaClass type) {
if (!mappingContext.isRendered(type)) {
mappingContext.markRendered(type);
final MappingStrategy strategy = MappingStrategyFactory
.createStrategy(target == MarshallerOutputTarget.GWT, mappingContext, type);
if (strategy == null) {
throw new RuntimeException("no available marshaller for class: " + type.getFullyQualifiedName());
}
final String varName = getVarName(type);
final Statement marshaller = strategy.getMapper().getMarshaller();
classStructureBuilder.privateField(varName, marshaller.getType()).finish();
if (type.isAnnotationPresent(AlwaysQualify.class)) {
constructor.append(loadVariable(varName).assignValue(
Stmt.newObject(QualifyingMarshallerWrapper.class, marshaller, type)));