protected override void ProcessAspect(ClassAspect aspect, int currentSlot, bool isNull ) { var marshalledObject = obj; if (aspect is FieldMetadata) { var field = (FieldMetadata)aspect; marshalledObject = field.GetOrCreate(trans, obj); if (marshalledObject == null) { context.IsNull(currentSlot, true); field.AddIndexEntry(trans, context.ObjectID(), null); return; } } aspect.Marshall(context, marshalledObject); }