@SuppressWarnings("unchecked")
    public static <T> T convert(Class<T> klass, String value) {
        if (Strings.isNullOrEmpty(value)) {
            throw new IllegalArgumentException("Value must not be empty.");
        }

        if (Objects.isNull(converters.get(klass))) {
            throw new IllegalArgumentException("No conversion supported for given class.");
        }
        return (T)converters.get(klass).apply(value);
    }
@Test(expected = IllegalArgumentException.class)
    public void testEmptyValue() {
        PasswordParamConverter.convert(Double.class, "");
    }