class STKDataGroupBuilder {

    public DataGroupInfo createGroupAndType(TileSet tileSet, String serverUrl)
    {
        String id = serverUrl + tileSet.getName();
        DefaultDataGroupInfo dataGroup = new DefaultDataGroupInfo(false, myToolbox, Constants.PROVIDER_TYPE,
                serverUrl + tileSet.getName(), tileSet.getName());
        dataGroup.activationProperty().addListener(myActivationListener);
        dataGroup.setGroupDescription(buildDescription(tileSet));

        DefaultDataTypeInfo dataType =
                new DefaultDataTypeInfo(myToolbox, serverUrl, id, tileSet.getName(), tileSet.getName(), false);
        dataType.setUrl(serverUrl);
        OrderParticipantKey orderKey = new DefaultOrderParticipantKey(DefaultOrderCategory.DEFAULT_ELEVATION_FAMILY,
                DefaultOrderCategory.EARTH_ELEVATION_CATEGORY, id);
        dataType.setOrderKey(orderKey);
        int zOrder = myOrderManager.activateParticipant(orderKey);

        DefaultTileRenderProperties props = new DefaultTileRenderProperties(zOrder, true, false);
        ServerMapVisualizationInfo mapInfo = new ServerMapVisualizationInfo(MapVisualizationType.TERRAIN_TILE, props);
        dataType.setMapVisualizationInfo(mapInfo);

        dataGroup.addMember(dataType, this);

        return dataGroup;
    }

    public  STKDataGroupBuilder(Toolbox toolbox);

}