private static IntegerChromosome createChromosome(final Board board, int iChromosome) {
		final var random = RandomAdapter.of(RandomRegistry.random());

		List<Integer> changes = new ArrayList<>();
		List<Integer> inputs = new ArrayList<>();

		for (int i = 0; i < Board.SIZE; i++) {
			changes.add(i + 1);
			if (board.get(iChromosome, i) != 0) {
				inputs.add(board.get(iChromosome, i));
			}
		}
		changes.removeAll(inputs);
		Collections.shuffle(changes, random);

		List<IntegerGene> genes = new ArrayList<>();
		for (int j = 0; j < Board.SIZE; j++) {
			if (board.get(iChromosome, j) == 0) {
				int value = changes.remove(changes.size() - 1);
				IntegerGene gene = IntegerGene.of(value, 1, Board.SIZE + 1);
				genes.add(gene);
			}
		}
		return IntegerChromosome.of(genes);
	}
@param board the board of sudoku
@return a random individual (genotype) for the given board.
Fixed cells in the board are not included in the chromosomes.
jenetics.example/src/main/java/io/jenetics/example/sudoku/Generator.java