code: 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 + RANDOM.nextInt(endExclusive - startInclusive);
      }
docs: <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)
  @throws IllegalArgumentException
  if {@code startInclusive > endExclusive} or if
  {@code startInclusive} is negative
  @return the random integer