@Test
@SuppressWarnings({ "rawtypes", "unchecked" })

public void addPropertyConverter() throws Exception {
    PropertyConverter converter = (value, ctx) -> value.toLowerCase();
    ConfigurationBuilder b = new CoreConfigurationBuilder()
            .addPropertyConverters(TypeLiteral.of(String.class), converter);
    Configuration cfg = b.build();
    ConfigurationContext ctx = cfg.getContext();
    assertThat(ctx.getPropertyConverters(TypeLiteral.of(String.class))).contains(converter);
    assertThat(ctx.getPropertyConverters()).hasSize(1);
    b = new CoreConfigurationBuilder()
            .addPropertyConverters(TypeLiteral.of(String.class), converter);
    b.addPropertyConverters(TypeLiteral.of(String.class), converter);
    assertThat(ctx.getPropertyConverters()).hasSize(1);
}