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

    public List<GeographicBoundingBox> quadSplit()
    {
        LatLonAlt center = getCenter().getLatLonAlt();
        GeographicBoundingBox lowerLeft = new GeographicBoundingBox(getLowerLeft().getLatLonAlt(), center);
        GeographicBoundingBox lowerRight = new GeographicBoundingBox(getLowerCenter().getLatLonAlt(),
                getRightCenter().getLatLonAlt());
        GeographicBoundingBox upperLeft = new GeographicBoundingBox(getLeftCenter().getLatLonAlt(),
                getUpperCenter().getLatLonAlt());
        GeographicBoundingBox upperRight = new GeographicBoundingBox(center, getUpperRight().getLatLonAlt());
        return Arrays.asList(lowerLeft, lowerRight, upperLeft, upperRight);
    }

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

}