class ExtraColumnsMetaDataProvider implements MetaDataProvider {

    @Override
    public boolean setValue(String key, Serializable value)
    {
        boolean valueSet;
        if (myExtraColumns.containsKey(key))
        {
            valueSet = myExtraColumns.put(key, value) == value;
        }
        else
        {
            valueSet = myOriginal.setValue(key, value);
        }

        return valueSet;
    }

    protected  ExtraColumnsMetaDataProvider(ExtraColumnsMetaDataProvider source);
    public  ExtraColumnsMetaDataProvider(MetaDataProvider original, Map<String, Object> extraColumns);

}