class FeatureDataTypeBuilder implements LayerActivationListener {

    public void buildDataType(GeoPackageFeatureLayer layer, DefaultDataTypeInfo dataType, String layerId)
    {
        DefaultOrderParticipantKey orderKey = new DefaultOrderParticipantKey(DefaultOrderCategory.DEFAULT_FEATURE_LAYER_FAMILY,
                DefaultOrderCategory.FEATURE_CATEGORY, layerId);
        dataType.setOrderKey(orderKey);
        int zOrder = myOrderManager.activateParticipant(orderKey);

        MapVisualizationInfo visInfo = new DefaultMapFeatureVisualizationInfo(MapVisualizationType.MIXED_ELEMENTS, true);
        visInfo.setZOrder(zOrder, this);
        dataType.setMapVisualizationInfo(visInfo);
        MetaDataInfo metainfo = myMetaDataInfoBuilder.buildMetaDataInfo(layer);
        dataType.setMetaDataInfo(metainfo);
        dataType.getBasicVisualizationInfo().setUsesDataElements(true);
    }

    public  FeatureDataTypeBuilder(DataTypeController dataTypeController, OrderManagerRegistry orderManagerRegistry,
            MapManager mapManager);

}