public override void Serialize(IntermediateFormatWriter writer) { writer.RegisterDeclaration(Previous.m_declaration); IScalabilityCache scalabilityCache = writer.PersistenceHelper as IScalabilityCache; while (writer.NextMember()) { switch (writer.CurrentMember.MemberName) { case MemberName.OdpContext: { int value = scalabilityCache.StoreStaticReference(this.m_odpContext); writer.Write(value); break; } case MemberName.PreviousValues: writer.WriteVariantListVariantDictionary(this.m_previousValues); break; case MemberName.Values: writer.WriteVariantListVariantDictionary(this.m_values); break; case MemberName.StartHidden: writer.Write(this.m_startIndex); break; case MemberName.IsScopedInEvaluationScope: writer.Write(this.m_isScopedInEvaluationScope); break; case MemberName.Previous: writer.Write(this.m_previous); break; case MemberName.PreviousEnabled: writer.Write(this.m_previousEnabled); break; case MemberName.HasNoExplicitScope: writer.Write(this.m_hasNoExplicitScope); break; case MemberName.Value: writer.Write(this.m_value); break; default: Global.Tracer.Assert(false); break; } } }