docs: public BBox calculateIntersection(BBox bBox) {
          if (!this.intersects(bBox))
              return null;
  
          double minLon = Math.max(this.minLon, bBox.minLon);
          double maxLon = Math.min(this.maxLon, bBox.maxLon);
          double minLat = Math.max(this.minLat, bBox.minLat);
          double maxLat = Math.min(this.maxLat, bBox.maxLat);
  
          return new BBox(minLon, maxLon, minLat, maxLat);
      }