docs: @Nonnull
      public Coordinate getMinGeoCoordinate(final ReferencedEnvelope envelope, final Coordinate geoTileSize) {
          final ReferencedEnvelope tileCacheBounds = getTileCacheBounds();
          final double tileCacheMinX = tileCacheBounds.getMinX();
          double minGeoX = envelope.getMinX();
          double minGeoY = envelope.getMinY();
          double tileMinGeoX =
                  (tileCacheMinX + (Math.floor((minGeoX - tileCacheMinX) / geoTileSize.x) * geoTileSize.x));
          final double tileCacheMinY = tileCacheBounds.getMinY();
          double tileMinGeoY =
                  (tileCacheMinY + (Math.floor((minGeoY - tileCacheMinY) / geoTileSize.y) * geoTileSize.y));
  
          return new Coordinate(tileMinGeoX, tileMinGeoY);
      }