class AttributionTransformer extends DefaultTransformer implements DataRegistryListener<TileSetMetadata> {

    @Override
    public void valuesAdded(DataModelCategory dataModelCategory, long[] ids, Iterable<? extends TileSetMetadata> newValues,
            Object source)
    {
        LabelGeometry.Builder<ScreenPosition> builder = new Builder<>();
        builder.setText("Terrain provided by " + newValues.iterator().next().getAttribution());
        builder.setOutlined(true);
        builder.setPosition(getPosition());
        builder.setFont("");

        LabelRenderProperties props = new DefaultLabelRenderProperties(ZOrderRenderProperties.TOP_Z, true, false);
        props.setColor(Color.white);

        LabelGeometry label = new LabelGeometry(builder, props, null);
        myGeometries.put(dataModelCategory.getSource() + dataModelCategory.getCategory(), label);
        publishGeometries(Collections.singletonList(label), Collections.emptyList());
    }

    public  AttributionTransformer(DataRegistry dataRegistry, MapManager mapManager);

}