protected virtual void DeserializeProperty <T>(PropertyMapping propertyMapping, T instance, TDeserializeState state) { if (IsDataNull(state)) { propertyMapping.SetValue(instance, null); } else { var underlyingValue = DeserializePrimitive(propertyMapping.Type, state); propertyMapping.SetValue(instance, underlyingValue); } }