code: public int nextInt(int least, int bound) {
          if (least >= bound) {
              throw new IllegalArgumentException();
          }
          return nextInt(bound - least) + least;
      }
docs: Returns a pseudorandom, uniformly distributed value between the
  given least value (inclusive) and bound (exclusive).
  
  @param least the least value returned
  @param bound the upper bound (exclusive)
  @throws IllegalArgumentException if least greater than or equal
  to bound
  @return the next value