public static BigInteger nextBigInteger(
		final BigInteger min,
		final BigInteger max,
		final RandomGenerator random
	) {
		if (min.compareTo(max) > 0) {
			throw new IllegalArgumentException(format(
				"min >= max: %d > %d.", min, max
			));
		}

		final BigInteger n = max.subtract(min);
		return nextBigInteger(n, random).add(min);
	}
Returns a pseudo-random, uniformly distributed int value between min
and max (min and max included).

@param min lower bound for generated long integer (inclusively)
@param max upper bound for generated long integer (exclusively)
@param random the random engine to use for calculating the random
       long value
@return a random long integer greater than or equal to {@code min}
        and less than or equal to {@code max}
@throws IllegalArgumentException if {@code min >= max}
@throws NullPointerException if one of the given parameters
        are {@code null}.
jenetics.ext/src/main/java/io/jenetics/ext/internal/util/Randoms.java