docs: public static long nextLong(final long n, final Random random) {
  		if (n <= 0) {
  			throw new IllegalArgumentException(format(
  				"n is smaller than one: %d", n
  			));
  		}
  
  		long bits;
  		long result;
  		do {
  			bits = random.nextLong() & 0x7fffffffffffffffL;
  			result = bits%n;
  		} while (bits - result + (n - 1) < 0);
  
  		return result;
  	}