### Question:
BoundingBox implements Cloneable { public BoundingBox rotate() { BoundingBox cloned = new BoundingBox(); cloned.minX = minZ; cloned.minY = minY; cloned.minZ = -minX; cloned.maxX = maxZ; cloned.maxY = maxY; cloned.maxZ = -maxX; return cloned; } private  BoundingBox(); static BoundingBox newEmptyBox(); @Override BoundingBox clone(); BoundingBox rotate(); void expandToFit(int x, int y, int z); void expandToFitChunk(ChunkCoordinate chunk); boolean isEmpty(); int getMinX(); int getMinY(); int getMinZ(); int getWidth(); int getHeight(); int getDepth(); @Override int hashCode(); @Override String toString(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testRotate() { BoundingBox original = BoundingBox.newEmptyBox(); original.expandToFit(1, 2, 3); BoundingBox rotated = original.rotate(); assertEquals(1, original.getMinX()); assertEquals(3, rotated.getMinX()); assertEquals(3, original.getMinZ()); assertEquals(-1, rotated.getMinZ()); }