code: public final <C> Ix<C> collect(IxSupplier<C> initialFactory, IxConsumer2<C, T> collector) {
          return new IxCollect<T, C>(this, nullCheck(initialFactory, "initialFactory is null"), nullCheck(collector, "collector"));
      }
docs: Collect the elements into a collection via collector action and emit that collection
  as a single item.
  <p>
  The result's iterator() doesn't support remove().
  @param <C> the collection type
  @param initialFactory the function returning a collection for each iterator() call
  @param collector the action called with the collection and the current item
  @return the new Ix instance
  @throws NullPointerException if initialFactory or collector is null
  @since 1.0