} else { log.debug("Could not find a way to convert the parameter ", propertyName.getName(), " to a ", propertyType.getSimpleName(), ". No TypeConverter could be found and the class does not ", "have a constructor that takes a single String parameter.");
    private List<Object> convert(ActionBean bean,                                 ParameterName propertyName,                                 String[] values,                                 Class propertyType,                                 Validate validationInfo,                                 List<ValidationError> errors) throws Exception {        List<Object> returns = new ArrayList<Object>();        propertyType = getRealType(bean, propertyType, propertyName);        // Dig up the type converter        TypeConverter converter = null;        if (validationInfo !=  null && validationInfo.converter() != TypeConverter.class) {            converter = this.configuration.getTypeConverterFactory()                .getInstance(validationInfo.converter(), bean.getContext().getRequest().getLocale());        }        else {            converter = this.configuration.getTypeConverterFactory()                    .getTypeConverter(propertyType, bean.getContext().getRequest().getLocale());        }        log.debug("Converting ", values.length, " value(s) using converter ", converter);        for (int i=0; i<values.length; ++i) {            if (!"".equals(values[i])) {                try {                    Object retval = null;                    if (converter != null) {                        retval = converter.convert(values[i], propertyType, errors);                    }                    else {                        Constructor constructor = propertyType.getConstructor(String.class);                        if (constructor != null) {                            retval = constructor.newInstance(values[i]);                        }                    }                    // If we managed to get a non-null converted value, add it to the return set                    if (retval != null) {                        returns.add(retval);                    }                    // Set the field name and value on the error                    for (ValidationError error : errors) {                        error.setFieldName(propertyName.getStrippedName());                        error.setFieldValue(values[i]);                    }                }                catch(Exception e) {                    //TODO: figure out what to do, if anything, with these exceptions                    log.warn(e, "Looks like type converter ", converter, " threw an exception.");                }            }        }        return returns;    }