Bounding box operations

Your BoundingBox or MutableBoundingBox interface should support the following queries and transformations:

Optional functionality

If you have time, add methods to your interface to perform the following operations as well (and implement them in your class):

It is possible that, by providing these functions, other functionality can be implemented more easily in terms of them.