code: public static Bbox union(Bbox one, Bbox two) {
  		if (two.getWidth() == 0 && two.getHeight() == 0 && two.getX() == 0 && two.getY() == 0) {
  			return new Bbox(one.getX(), one.getY(), one.getWidth(), one.getHeight());
  		}
  		if (one.getWidth() == 0 && one.getHeight() == 0 && one.getX() == 0 && one.getY() == 0) {
  			return new Bbox(two.getX(), two.getY(), two.getWidth(), two.getHeight());
  		}
  
  		double minx = two.getX() < one.getX() ? two.getX() : one.getX();
  		double maxx = two.getMaxX() > one.getMaxX() ? two.getMaxX() : one.getMaxX();
  		double miny = two.getY() < one.getY() ? two.getY() : one.getY();
  		double maxy = two.getMaxY() > one.getMaxY() ? two.getMaxY() : one.getMaxY();
  		return new Bbox(minx, miny, (maxx - minx), (maxy - miny));
  	}
docs: Calculates the union of 2 bounding boxes.
  
  @param one
  The first bounding box.
  @param two
  The second bounding box.
  @return A new bounding box representing the union.