docs: public final static <T, S, R> Stream<R> zipSequence(final Stream<T> stream, final Stream<? extends S> second,
              final BiFunction<? super T, ? super S, ? extends R> zipper) {
          final Iterator<T> left = stream.iterator();
          final Iterator<? extends S> right = second.iterator();
          return Streams.stream(new Iterator<R>() {
  
              @Override
              public boolean hasNext() {
                  return left.hasNext() && right.hasNext();
              }
  
              @Override
              public R next() {
                  return zipper.apply(left.next(), right.next());
              }
  
          });
  
      }