class ExtraColumnsMetaDataProvider implements MetaDataProvider {

    @Override
    public Object getValue(String key)
    {
        Object value = null;
        if (myExtraColumns.containsKey(key))
        {
            value = myExtraColumns.get(key);
        }
        else
        {
            value = myOriginal.getValue(key);
        }

        return value;
    }

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

}