final TreeLogger tempLogger = createFilteredLogger(logger.branch(TreeLogger.DEBUG, "Generating serialization code"), TreeLogger.ERROR);
SerializableTypeOracleBuilder serializerBuilder = new SerializableTypeOracleBuilder(tempLogger, context.getPropertyOracle(), (GeneratorContextExt) context);
for(JType cls : serializedTypes) {
serializerBuilder.addRootType(tempLogger, cls);
}
SerializableTypeOracle serializableTypeOracle = serializerBuilder.build(tempLogger);
String serializerClassName = baseType.getQualifiedSourceName()+"_TypeSerializer";
String serializerSimpleName = baseType.getSimpleSourceName()+"_TypeSerializer";
TypeSerializerCreator typeSerializerCreator = new TypeSerializerCreator(tempLogger, serializableTypeOracle, serializableTypeOracle, (GeneratorContextExt) context, serializerClassName, serializerSimpleName);
typeSerializerCreator.realize(tempLogger);
sw.println("com.google.gwt.user.client.rpc.impl.Serializer serializer = new " + serializerClassName + "();");