class CoreConfigurationBuilder extends DefaultConfigurationBuilder {

    @SuppressWarnings("unchecked")
    @Override
    protected void addCorePropertyConverters() {
        addPropertyConverters(TypeLiteral.<BigDecimal>of(BigDecimal.class), new BigDecimalConverter());
        addPropertyConverters(TypeLiteral.<BigInteger>of(BigInteger.class), new BigIntegerConverter());
        addPropertyConverters(TypeLiteral.<Boolean>of(Boolean.class), new BooleanConverter());
        addPropertyConverters(TypeLiteral.<Byte>of(Byte.class), new ByteConverter());
        addPropertyConverters(TypeLiteral.<Character>of(Character.class), new CharConverter());
        addPropertyConverters(TypeLiteral.<Class<?>>of(Class.class), new ClassConverter());
        addPropertyConverters(TypeLiteral.<Currency>of(Currency.class), new CurrencyConverter());
        addPropertyConverters(TypeLiteral.<Double>of(Double.class), new DoubleConverter());
        addPropertyConverters(TypeLiteral.<File>of(File.class), new FileConverter());
        addPropertyConverters(TypeLiteral.<Float>of(Float.class), new FloatConverter());
        addPropertyConverters(TypeLiteral.<Integer>of(Integer.class), new IntegerConverter());
        addPropertyConverters(TypeLiteral.<Long>of(Long.class), new LongConverter());
        addPropertyConverters(TypeLiteral.<Number>of(Number.class), new NumberConverter());
        addPropertyConverters(TypeLiteral.<Path>of(Path.class), new PathConverter());
        addPropertyConverters(TypeLiteral.<Short>of(Short.class), new ShortConverter());
        addPropertyConverters(TypeLiteral.<URI>of(URI.class), new URIConverter());
        addPropertyConverters(TypeLiteral.<URL>of(URL.class), new URLConverter());
    }

    public  CoreConfigurationBuilder();
    public  CoreConfigurationBuilder(Configuration config);
    public  CoreConfigurationBuilder(ConfigurationContext context);

}