code: public final <R> Ix<R> publish(IxFunction<? super Ix<T>, ? extends Iterable<? extends R>> transform) {
          return new IxPublishSelector<T, R>(this, nullCheck(transform, "transform is null"));
      }
docs: Shares an Iterator, exposed as an Ix sequence, for the duration of the transform function called
  for each iterator() invocation and emits elements of the resulting iterable sequence of the function.
  <p>
  The result's iterator() doesn't support remove().
  @param <R> the result value type
  @param transform the function that receives an Ix instance sharing a single underlying Iterator to this
  sequence and returns another Iterable to be the result sequence
  @return the new Iterable sequence
  @throws NullPointerException if transform is null
  @since 1.0