public virtual void Deserialize(IntermediateFormatReader reader) { reader.RegisterDeclaration(OnDemandMetadata.m_Declaration); while (reader.NextMember()) { switch (reader.CurrentMember.MemberName) { case MemberName.CommonSubReportInfos: this.m_commonSubReportInfoMap = reader.ReadStringRIFObjectDictionary <CommonSubReportInfo>(); break; case MemberName.SubReportInfos: this.m_subReportInfoMap = reader.ReadStringRIFObjectDictionary <SubReportInfo>(); break; case MemberName.ReportSnapshot: this.m_reportSnapshot = (AspNetCore.ReportingServices.ReportIntermediateFormat.ReportSnapshot)reader.ReadRIFObject(); break; case MemberName.GroupTreePartitionOffsets: { List <long> list = reader.ReadListOfPrimitives <long>(); if (list != null) { this.m_groupTreePartitions = new TreePartitionManager(list); } break; } case MemberName.DataChunkMap: this.m_dataChunkMap = reader.ReadStringRIFObjectDictionary <DataSetInstance>(); break; case MemberName.CachedExternalImages: this.m_cachedExternalImages = reader.ReadStringRIFObjectDictionary <AspNetCore.ReportingServices.ReportIntermediateFormat.ImageInfo>(); break; case MemberName.CachedShapefiles: this.m_cachedShapefiles = reader.ReadStringRIFObjectDictionary <ShapefileInfo>(); break; case MemberName.TransparentImageChunkName: this.m_transparentImageChunkName = reader.ReadString(); break; case MemberName.GroupTreeRootOffset: this.m_groupTreeRootOffset = reader.ReadInt64(); break; case MemberName.TablixProcessingComplete: this.m_tablixProcessingComplete = reader.ReadStringBoolArrayDictionary(); break; case MemberName.GroupTreePartitions: this.m_groupTreePartitions = (TreePartitionManager)reader.ReadRIFObject(); break; case MemberName.LookupPartitions: this.m_lookupPartitions = (TreePartitionManager)reader.ReadRIFObject(); break; case MemberName.LastAssignedGlobalID: this.m_lastAssignedGlobalID = reader.ReadInt32(); break; case MemberName.UpdatedVariableValues: this.m_updatedVariableValues = reader.ReadStringRIFObjectDictionary <UpdatedVariableValues>(); break; default: Global.Tracer.Assert(false); break; } } }