private static Activity DeserializeActivity(BinaryReader reader, List <ActivityLogSerializer.SerializedPropertyInfo> propertyInfos) { MemoryPropertyBag memoryPropertyBag = new MemoryPropertyBag(); foreach (ActivityLogSerializer.SerializedPropertyInfo serializedPropertyInfo in propertyInfos) { bool flag = reader.ReadBoolean(); if (flag) { object value = serializedPropertyInfo.PropertyDeserializer(reader); if (serializedPropertyInfo.PropertyDefinition != null) { value = ActivityLogSerializer.ConvertPropertyValue(serializedPropertyInfo.PropertyDefinition, value); memoryPropertyBag.SetProperty(serializedPropertyInfo.PropertyDefinition, value); } } } return(new Activity(memoryPropertyBag)); }