public void ActivateAspects(UnmarshallingContext context)
        {
            BooleanByRef           schemaUpdateDetected = new BooleanByRef();
            ContextState           savedState           = context.SaveState();
            ITraverseAspectCommand command = new _MarshallingInfoTraverseAspectCommand_63(context
                                                                                          , schemaUpdateDetected, EnsureFieldList(context));

            // TODO: cant the aspect handle it itself?
            // Probably no because old aspect versions might not be able
            // to handle null...
            TraverseAllAspects(context, command);
            if (schemaUpdateDetected.value)
            {
                context.RestoreState(savedState);
                command = new _MarshallingInfoTraverseAspectCommand_94(context, EnsureFieldList(context
                                                                                                ));
                TraverseAllAspects(context, command);
            }
        }
 public void ActivateAspects(UnmarshallingContext context)
 {
     var schemaUpdateDetected = new BooleanByRef();
     var savedState = context.SaveState();
     ITraverseAspectCommand command = new _MarshallingInfoTraverseAspectCommand_63(context
         , schemaUpdateDetected, EnsureFieldList(context));
     // TODO: cant the aspect handle it itself?
     // Probably no because old aspect versions might not be able
     // to handle null...
     TraverseAllAspects(context, command);
     if (schemaUpdateDetected.value)
     {
         context.RestoreState(savedState);
         command = new _MarshallingInfoTraverseAspectCommand_94(context, EnsureFieldList(context
             ));
         TraverseAllAspects(context, command);
     }
 }