public Location getAdjacentLocation(Direction direction) {
        switch (direction) {
            case NORTH:
                return new Location(x, y - SnakeWebSocketServlet.GRID_SIZE);
            case SOUTH:
                return new Location(x, y + SnakeWebSocketServlet.GRID_SIZE);
            case EAST:
                return new Location(x + SnakeWebSocketServlet.GRID_SIZE, y);
            case WEST:
                return new Location(x - SnakeWebSocketServlet.GRID_SIZE, y);
            case NONE:
                // fall through
            default:
                return this;
        }
    }