public static int nextInt(final int startInclusive, final int endExclusive) {
        Validate.isTrue(endExclusive >= startInclusive,
            "Start value must be smaller or equal to end value.");
        Validate.isTrue(startInclusive >= 0, "Both range values must be non-negative.");

        if (startInclusive == endExclusive) {
            return startInclusive;
        }

        return startInclusive + getNativeInstance().nextInt(endExclusive - startInclusive);
    }
<p>
Returns a random integer within the specified range.
</p>

@param startInclusive the smallest value that can be returned, must be non-negative
@param endExclusive   the upper bound (not included)
@return the random integer
@throws IllegalArgumentException if {@code startInclusive > endExclusive} or if
                                 {@code startInclusive} is negative
api/cas-server-core-api-util/src/main/java/org/apereo/cas/util/RandomUtils.java