code: public static <T> Stream<T> takeUntil(Stream<T> source, Predicate<T> condition) {
          return takeWhile(source, condition.negate());
      }
docs: Construct a stream which takes values from the source stream until one of them meets the supplied condition,
  and then stops.
  @param source The source stream.
  @param condition The condition to apply to elements of the source stream.
  @param <T> The type over which the stream streams.
  @return A condition-bounded stream.