code: public Bbox transform(Bbox bbox, Matrix matrix) {
  		if (bbox != null) {
  			Coordinate c1 = transform(bbox.getOrigin(), matrix);
  			Coordinate c2 = transform(bbox.getEndPoint(), matrix);
  			double x = (c1.getX() < c2.getX()) ? c1.getX() : c2.getX();
  			double y = (c1.getY() < c2.getY()) ? c1.getY() : c2.getY();
  			return new Bbox(x, y, Math.abs(c1.getX() - c2.getX()), Math.abs(c1.getY() - c2.getY()));
  		}
  		return null;
  	}
docs: Transform a bounding box by a given <code>Matrix</code>.
  
  @param bbox
  The bounding box to transform.
  @param matrix
  The transformation matrix.
  @return Returns a transformed bounding box, or null if one of the given parameters was null.