code: public static <T> ShufflingIterable<T> from(final Iterable<T> iterable, final Random rng) {
      return new ShufflingIterable<>(iterable, rng);
    }
docs: Returns a new {@link ShufflingIterable} for the specified iterable and random number generator.
  
  @param iterable the source iterable
  @param rng the random number generator to use in shuffling the iterable
  @return a new shuffling iterable for contents of the original iterable