class BBox implements Shape, Cloneable {

    @Override
    public boolean intersect(Shape s) {
        if (s instanceof BBox) {
            return intersect((BBox) s);
        } else if (s instanceof Circle) {
            return ((Circle) s).intersect(this);
        }

        throw new UnsupportedOperationException("unsupported shape");
    }

    @JsonCreator public  BBox(double[] coords);
    public  BBox(double minLon, double maxLon, double minLat, double maxLat);
    public  BBox(double minLon, double maxLon, double minLat, double maxLat, double minEle, double maxEle);
    public  BBox(double minLon, double maxLon, double minLat, double maxLat, double minEle, double maxEle, boolean elevation);

}