class TileRowImporterImpl implements TileRowImporter {

    @Override
    public void importTile(GeoPackageTileLayer layer, TileDao tileDao, BoundingBox layerBoundingBox, TileRow tileRow)
    {
        BoundingBox box = TileBoundingBoxUtils.getBoundingBox(layerBoundingBox, tileDao.getTileMatrix(tileRow.getZoomLevel()),
                tileRow.getTileColumn(), tileRow.getTileRow());

        GeoPackageTile tile = new GeoPackageTile(layer.getId(), tileRow.getZoomLevel(),
                GeoPackageCoordinateUtils.getInstance().convertToGeodetic(box, tileDao.getProjection()),
                (int)tileRow.getTileColumn(), (int)tileRow.getTileRow());

        String tileKey = generateTileKey(tile);

        depositTile(layer, tileKey, tile);
        if (tileRow.getTileData() != null)
        {
            InputStream imageData = myEncoder.encodeImage(tileRow.getTileData());
            depositImage(layer, tileKey, imageData);
        }
    }

    public  TileRowImporterImpl(DataRegistry registry);

}