protected override DynamicMethodEmittingContext CreateCodeGenerationContextForSerializerCreation(SerializationContext context)
 {
     return
         (new DynamicMethodEmittingContext(
              context,
              typeof(TObject),
              () =>
              SerializationMethodGeneratorManager.Get()
              .CreateEmitter(
                  SerializerSpecification.CreateAnonymous(typeof(TObject), CollectionTraitsOfThis),
                  BaseClass,
                  EmitterFlavor.ContextBased
                  ),
              () =>
              SerializationMethodGeneratorManager.Get()
              .CreateEnumEmitter(
                  context,
                  SerializerSpecification.CreateAnonymous(typeof(TObject), CollectionTraitsOfThis),
                  EmitterFlavor.ContextBased
                  )
              ));
 }