public Position findFirstEmptyCell(Direction direction) {
		if (direction == Direction.DOWN) {
			for (int x = 0; x < getWidth(); ++x) {
				for (int y = 0; y < getHeight(); ++y) {
					Cell cell = getCell(x, y);
					if (cell.isAccessible() && cell.getContent().equals(Cell.EMPTY_CHARACTER)) {
						return new Position(x, y);
					}
				}
			}
		} else {
			for (int y = 0; y < getHeight(); ++y) {
				for (int x = 0; x < getWidth(); ++x) {
					Cell cell = getCell(x, y);
					if (cell.isAccessible() && cell.getContent().equals(Cell.EMPTY_CHARACTER)) {
						return new Position(x, y);
					}
				}
			}
		}

		return null;
	}