class GeographicBoundingBox implements BoundingBox<GeographicPosition>, Comparable<GeographicBoundingBox>, Serializable {

    @Override
    public BoundingBox<GeographicPosition> union(BoundingBox<GeographicPosition> otherBox)
    {
        GeographicBoundingBox gbb = null;
        Geometry gc = BoundingBoxes.unionEnvelope(this, otherBox);
        if (gc != null && gc.getCoordinates().length > 0)
        {
            Coordinate[] cds = gc.getCoordinates();
            gbb = new GeographicBoundingBox(LatLonAlt.createFromDegrees(cds[0].y, cds[0].x),
                    LatLonAlt.createFromDegrees(cds[2].y, cds[2].x));
        }
        return gbb;
    }

    public  GeographicBoundingBox(GeographicPosition lowerLeftCorner, GeographicPosition upperRightCorner);
    public  GeographicBoundingBox(LatLonAlt lowerLeftCorner, LatLonAlt upperRightCorner);

}