deserialize
Converts a raw storage value back into the typed representation.
Implementations should handle reasonable type coercions (for example, accepting both Number and String when the target type is numeric) and throw IllegalArgumentException when the conversion is impossible.
Return
The deserialized typed value.
Parameters
raw
The raw value read from the configuration store.
Throws
if raw cannot be converted to T.