@Override
	public List<Action> process(Board board) {			
		List<Action> backActions = new ArrayList<Action>();

		for (int x = 0; x < board.w; x++)
			for (int y = 0; y < board.h; y++)
			{
				if (!board.cells[x][y] && countCells(board, x, y, blur) >= threshold)
				{
					board.cells[x][y] = true;
					backActions.add(new EraseAction(x, y));
				}
			}
		
		List<Action> actions = solution.process(board);
		actions.addAll(backActions);
		
		return actions;
	}