/// <summary>
 /// Gets a list of value from a <see cref="IConfiguration"/>. Returns <paramref name="defaultValueList"/> if no key was found.
 /// </summary>
 /// <typeparam name="T">Type of the returned value.</typeparam>
 /// <param name="configuration">Configuration containing a list of key-list of value.</param>
 /// <param name="key">The configuration key.</param>
 /// <param name="defaultValueList">Default value list to return if no key is found.</param>
 /// <param name="valueConverter">A <see cref="ISettingValueConverter{T}"/> that converts configuration value literals to the type <typeparamref name="T"/>.</param>
 /// <returns>A <see cref="IEnumerable{T}"/>.</returns>
 public static IEnumerable <T> GetValueList <T>(this IConfiguration configuration, string key, IEnumerable <T> defaultValueList, ISettingValueConverter <T> valueConverter = null)
 => ConfigurationUtility.GetValueList(configuration, key, true, defaultValueList, valueConverter);
 /// <summary>
 /// Gets a configuration value list.
 /// </summary>
 /// <typeparam name="T">Type of the returned value.</typeparam>
 /// <param name="nameValueCollection">Configuration containing a list of key-value pairs or list values.</param>
 /// <param name="key">The configuration key.</param>
 /// <param name="valueConverter">A <see cref="ISettingValueConverter{T}"/> that converts configuration value literals to the type <typeparamref name="T"/>.</param>
 /// <returns>A <see cref="IEnumerable{T}"/>.</returns>
 public static IEnumerable <T> GetValueList <T>(this NameValueCollection nameValueCollection, string key, ISettingValueConverter <T> valueConverter = null)
 => ConfigurationUtility.GetValueList(nameValueCollection, key, false, default, valueConverter);