public void nextGeneration(int height, int width) {
		for (int i = 0; i < height; i++) {
			for (int j = 0; j < width; j++) {
				if (shouldRevive(i, j)) {
					mustRevive.add(cells[i][j]);
				} else if ((!shouldKeepAlive(i, j)) && cells[i][j].isAlive()) {
					mustKill.add(cells[i][j]);
				}
			}
		}
		for (Cell cell : mustRevive) {
			cell.revive();
		}

		for (Cell cell : mustKill) {
			cell.kill();
		}
	}