public static void Deserialize(IActivityLog activityLog, byte[] serializedActivityLog) { Util.ThrowOnNullArgument(serializedActivityLog, "serializedActivityLog"); if (serializedActivityLog.Length == 0) { return; } using (MemoryStream memoryStream = new MemoryStream(serializedActivityLog, true)) { using (BinaryReader binaryReader = new BinaryReader(memoryStream)) { binaryReader.ReadInt32(); binaryReader.ReadInt32(); binaryReader.ReadInt64(); List <ActivityLogSerializer.SerializedPropertyInfo> propertyInfos = ActivityLogSerializer.DeserializeActivitySchema(binaryReader); int num = binaryReader.ReadInt32(); List <Activity> list = new List <Activity>(num); for (int i = 0; i < num; i++) { Activity item = ActivityLogSerializer.DeserializeActivity(binaryReader, propertyInfos); list.Add(item); } activityLog.Reset(); activityLog.Append(list); } } }