public Converter lookup()

in src/main/java/org/apache/commons/beanutils2/ConvertUtilsBean.java [359:390]


    public <T> Converter<T> lookup(final Class<?> sourceType, final Class<T> targetType) {
        Objects.requireNonNull(targetType, "targetType");
        if (sourceType == null) {
            return lookup(targetType);
        }
        Converter converter = null;
        // Convert --> String
        if (targetType == String.class) {
            converter = lookup(sourceType);
            if (converter == null && (sourceType.isArray() || Collection.class.isAssignableFrom(sourceType))) {
                converter = lookup(String[].class);
            }
            if (converter == null) {
                converter = lookup(String.class);
            }
            return converter;
        }

        // Convert --> String array
        if (targetType == String[].class) {
            if (sourceType.isArray() || Collection.class.isAssignableFrom(sourceType)) {
                converter = lookup(sourceType);
            }
            if (converter == null) {
                converter = lookup(String[].class);
            }
            return converter;
        }

        return lookup(targetType);

    }