Provider with such schema - Provider class.IProvider interface and concrete types - ProviderSMPP and ProviderHTTPProvider and returns a list of IProvider where I initialize each concrete type using a switch-case on the Protocol field mapping the custom fields into its concrete values.ProviderSMPPCredentials and ProviderHTTPCredentials