code: public BoundingBox complementary(double maxProjectionLongitude) {
  
  		BoundingBox complementary = null;
  
  		Double adjust = null;
  
  		if (this.maxLongitude > maxProjectionLongitude) {
  			if (this.minLongitude >= -maxProjectionLongitude) {
  				adjust = -2 * maxProjectionLongitude;
  			}
  		} else if (this.minLongitude < -maxProjectionLongitude) {
  			if (this.maxLongitude <= maxProjectionLongitude) {
  				adjust = 2 * maxProjectionLongitude;
  			}
  		}
  
  		if (adjust != null) {
  			complementary = new BoundingBox(this);
  			complementary.setMinLongitude(complementary.getMinLongitude()
  					+ adjust);
  			complementary.setMaxLongitude(complementary.getMaxLongitude()
  					+ adjust);
  		}
  
  		return complementary;
  	}
docs: If the bounding box spans the Anti-Meridian, attempt to get a
  complementary bounding box using the max longitude of the unit projection
  
  @param maxProjectionLongitude
  max longitude of the world for the current bounding box units
  
  @return complementary bounding box or nil if none
  @since 2.0.0