private Point generateDoor(Room room, Direction direction) {
        switch (direction) {
        case NORTH:
            return new Point(generator.nextInt(room.getWidth() - 3) + 1, 0);
        case SOUTH:
            return new Point(generator.nextInt(room.getWidth() - 3) + 1, room.getHeight() - 1);
        case EAST:
            return new Point(0, generator.nextInt(room.getHeight() - 3) + 1);
        case WEST:
            return new Point(room.getWidth() - 1, generator.nextInt(room.getHeight() - 3) + 1);
        default:
            return null;
        }
    }