docs: public List<GeopackageRasterTileSource> getTileSources() {
          List<GeopackageRasterTileSource> srcs = new ArrayList<>();
  
          List<String> databases = manager.databases();
          for (int i = 0; i < databases.size(); i++) {
  
              GeoPackage open = manager.open(databases.get(i));
              List<String> tileTables = open.getTileTables();
              for (int k = 0; k < tileTables.size(); k++) {
                  TileDao tileDao = open.getTileDao(tileTables.get(k));
  
                  ProjectionTransform transform = tileDao.getProjection().getTransformation(ProjectionConstants.EPSG_WORLD_GEODETIC_SYSTEM);
                  mil.nga.geopackage.BoundingBox boundingBox = transform.transform(tileDao.getBoundingBox());
                  BoundingBox bounds = new BoundingBox(Math.min(tileSystem.getMaxLatitude(), boundingBox.getMaxLatitude()),
                      boundingBox.getMaxLongitude(),
                      Math.max(tileSystem.getMinLatitude(), boundingBox.getMinLatitude()),
                      boundingBox.getMinLongitude());
  
                  srcs.add(new GeopackageRasterTileSource(databases.get(i), tileTables.get(k), (int)tileDao.getMinZoom(), (int)tileDao.getMaxZoom(), bounds));
              }
              open.close();
          }
  
          return srcs;
      }