code: public static IntStream indexes(
  		final Random random,
  		final int start,
  		final int end,
  		final double p
  	) {
  		probability(p);
  		final int P = probability.toInt(p);
  
  		return equals(p, 0, 1E-20)
  			? IntStream.empty()
  			: equals(p, 1, 1E-20)
  				? IntStream.range(start, end)
  				: IntStream.range(start, end)
  					.filter(i -> random.nextInt() < P);
  	}
docs: Create an {@code IntStream} which creates random indexes within the
  given range and the index probability.
  
  @since 3.0
  
  @param random the random engine used for calculating the random
  indexes
  @param start the start index (inclusively)
  @param end the end index (exclusively)
  @param p the index selection probability
  @return an new random index stream
  @throws IllegalArgumentException if {@code p} is not a
  valid probability.