@Override
    public boolean shouldKeepAlive(int i, int j) {
        return (getCell(i, j).isAlive())
                        && (numberOfNeighborhoodAliveCells(i, j) == 3 || numberOfNeighborhoodAliveCells(i, j) == 4 || numberOfNeighborhoodAliveCells(i, j) == 6 || numberOfNeighborhoodAliveCells(i, j) == 7 || numberOfNeighborhoodAliveCells(i, j) == 8);
    }