code: public final Ix<T> takeWhile(IxPredicate<? super T> predicate) {
          return new IxTakeWhile<T>(this, nullCheck(predicate, "predicate is null"));
      }
docs: Take elements from this sequence while the given predicate returns true
  for the current element (checked before emission of that element).
  <p>
  The result's Iterator forwards calls of remove() to this' Iterator.
  @param predicate the function receiving the current element and returns
  false if no further elements should be emitted (not even the current).
  @return the new Ix instance
  @throws NullPointerException if predicate is null
  @since 1.0