class DefaultConfiguration implements Configuration, Serializable {

    @Override
    public String get(String key) {
        Objects.requireNonNull(key, "Key must not be null.");

        PropertyValue value = configEvaluator.evaluateRawValue(key, configurationContext);
        if(value==null || value.getValue()==null){
            return null;
        }
        value = PropertyFiltering.applyFilter(value, configurationContext);
        if(value!=null){
            return value.getValue();
        }
        return null;
    }

    public  DefaultConfiguration(ConfigurationContext configurationContext);

}