code: public final Ix<List<T>> bufferWhile(IxPredicate<? super T> predicate) {
          return new IxBufferWhile<T>(this, nullCheck(predicate, "predicate is null"));
      }
docs: Buffer while an item is encountered before which the predicate returns false
  to start a new buffer.
  <p>The item will be part of the next buffer
  @param predicate the predicate called with each item after the item
  has been added to the current buffer and should return true to start a new buffer
  @return the new Ix instance
  @see #bufferSplit(IxPredicate)
  @see #bufferUntil(IxPredicate)
  @since 1.0