code: public final <R> Ix<R> replay(IxFunction<? super Ix<T>, ? extends Iterable<? extends R>> transform) {
          return new IxReplaySelector<T, R>(this, nullCheck(transform, "transform is null"));
      }
docs: Caches and replays the elements of this sequence for the duration of the given transform function
  without consuming this sequence multiple times.
  <p>
  The result's iterator() doesn't support remove().
  @param <R> the result value type
  @param transform the function receiving a view into the cache and returns an Iterable sequence whose
  elements will be emitted by this Ix.
  @return the new Ix instance
  @throws NullPointerException if transform is null
  @since 1.0