@Override
	public Vector pickWordToFill(Crossword c, Direction direction) {
		Preconditions.checkNotNull(direction);

		if (direction == Direction.ACROSS) {
			for (int y = 0; y < c.getHeight(); ++y) {
				for (int x = 0; x < c.getWidth(); ++x) {
					String word = c.getWord(x, y, direction);
					if (word.length() > 1 && StringUtils.contains(word, '.')) {
						return new Vector(new Position(x, y), direction);
					}
				}
			}
		} else {
			for (int x = 0; x < c.getWidth(); ++x) {
				for (int y = 0; y < c.getHeight(); ++y) {
					String word = c.getWord(x, y, direction);
					if (word.length() > 1 && StringUtils.contains(word, '.')) {
						return new Vector(new Position(x, y), direction);
					}
				}
			}
		}

		// Apparently, there are no incomplete words any more!
		return null;
	}