public object Convert(object value, Type settingsType)
        {
            if (value is string stringArray)
            {
                value = stringArray.Split(new[] { _settingsOptions.ArraySplitDelimiter },
                                          StringSplitOptions.RemoveEmptyEntries)
                        .ToArray();
            }

            var values = value.GetType().IsArray ? (IEnumerable)value : new[] { value };

            var elementType = settingsType.GetElementType();

            var settingsTypeConverter = _converters.First(x => x.CanConvert(elementType));

            var list = (IList)Activator.CreateInstance(typeof(List <>).MakeGenericType(elementType));

            foreach (var item in values)
            {
                var convertedValue = settingsTypeConverter.Convert(item, elementType);
                list.Add(convertedValue);
            }

            var toArray = typeof(Enumerable).GetTypeInfo()
                          .GetMethod("ToArray")
                          .MakeGenericMethod(elementType);

            var array = toArray.Invoke(null, new object[] { list });

            return(array);
        }
        public object Convert(object value, Type settingsType)
        {
            if (value is string stringArray)
            {
                value = stringArray.Split(new[] { _settingsOptions.ArraySplitDelimiter }, StringSplitOptions.RemoveEmptyEntries)
                        .ToArray();
            }

            var values = value.GetType().IsArray ? (IEnumerable)value : new[] { value };

            var elementType = settingsType.GetTypeInfo().GetGenericArguments().First();

            var configTypeConverter = _converters.First(x => x.CanConvert(elementType));

            var instance = (IList)Activator.CreateInstance(typeof(List <>).MakeGenericType(elementType));

            foreach (var item in values)
            {
                var convertedValue = configTypeConverter.Convert(item, elementType);
                instance.Add(convertedValue);
            }

            return(instance);
        }