code: public DoubleStreamEx takeWhile(DoublePredicate predicate) {
          return VER_SPEC.callWhile(this, Objects.requireNonNull(predicate), false);
      }
docs: Returns a stream consisting of all elements from this stream until the
  first element which does not match the given predicate is found.
  
  <p>
  This is a short-circuiting stateful operation. It can be either
  <a href="package-summary.html#StreamOps">intermediate or
  quasi-intermediate</a>. When using with JDK 1.9 or higher it calls the
  corresponding JDK 1.9 implementation. When using with JDK 1.8 it uses own
  implementation.
  
  <p>
  While this operation is quite cheap for sequential stream, it can be
  quite expensive on parallel pipelines.
  
  @param predicate a non-interfering, stateless predicate to apply to
  elements.
  @return the new stream.
  @since 0.3.6
  @see #takeWhileInclusive(DoublePredicate)
  @see #dropWhile(DoublePredicate)