public void placeObject(World w, int x, int y, int z) {
final Set<BoundingBox> placed = new HashSet<BoundingBox>();
final Queue<StructurePiece> activeBranches = new LinkedList<StructurePiece>();
final Map<StructurePiece, BoundingBox> lastBoxes = new HashMap<StructurePiece, BoundingBox>();
final MineshaftRoom room = new MineshaftRoom(this);
room.setPosition(new Point(w, x, y, z));
room.randomize();
activeBranches.add(room);
final byte size = (byte) (random.nextInt(MAX_SIZE_RAND + 1) + MAX_SIZE_BASE);
byte count = 0;
while (!activeBranches.isEmpty()) {