@Override
	public int next(final Rule<?> rule, final int bound) {
		final int index = _pos.getAndUpdate(x -> (x + 1)%_length);
		return _values.applyAsInt(index)%bound;
	}
Create a new {@code Codons} object from a given {@code codons} source and
its {@code length}.

@param codons the codon source
@param length the length of the codon source
@throws NullPointerException if the {@code codons} source is {@code null}
@throws IllegalArgumentException if the given {@code length} is smaller
        than one
jenetics.ext/src/main/java/io/jenetics/ext/grammar/Codons.java