Interface for an property that converts a configured String into something else.
This is used for implementing type conversion from a property (String) to a certain target
type. Hereby the target type can be multi-value (e.g. collections) or complex if needed.
Convert the given configuration keys from its String representation into the required target type.
The context instance passed also allows to add a list of supported formats, which is very handy in case a
value could not be converted. This list of supported formats can then shown to the user to give some hints
how a value could be configured.
value - configuration key that needs to be converted
context - the ConversionContext, containing the String value and the requested configuration key.