public <T> T convert(String property, Class<T> targetClass) {
        final AbstractPropertyConverter<?> converter = converterRegistry.get(targetClass);
        if (converter == null) {
            throw new MissingFormatArgumentException("converter not found, can't convert from String to " + targetClass.getCanonicalName());
        }
        return (T) converter.convert(property);
    }
@Test
    void testConvertBooleanFalse() {
        assertFalse(compositeConverter.convert("false", Boolean.class));
        assertFalse(compositeConverter.convert("off", Boolean.class));
        assertFalse(compositeConverter.convert("no", Boolean.class));
        assertFalse(compositeConverter.convert("0", Boolean.class));
    }