/// <inheritdoc/>
        public override object ConvertFrom(CultureInfo culture, string value, Type propertyType)
        {
            Type type = typeof(T);
            ICommandConverter paramConverter = CommandDescriptor.GetConverter(type);

            if (paramConverter == null)
            {
                throw new InvalidOperationException("No type converter exists for type " + type.FullName);
            }

            var result = new List <T>();

            if (value != null)
            {
                string[] items = this.GetStringArray(value, culture);

                foreach (string s in items)
                {
                    object item = paramConverter.ConvertFromInvariantString(s, type);
                    if (item != null)
                    {
                        result.Add((T)item);
                    }
                }
            }

            return(result);
        }