class PropertySourceChangeSupport {

    public void addChangeListener(BiConsumer<Set<String>, PropertySource> l){
        switch(changeSupport){
            case SUPPORTED:
                if(!listeners.contains(l)){
                    listeners.add(l);
                }
                break;
            case UNSUPPORTED:
            case IMMUTABLE:
                default:
                break;
        }
    }

    public  PropertySourceChangeSupport(ChangeSupport changeSupport,
                                       PropertySource propertySource);

}