code: public static <R> Stream<R> zip(final ByteStream a, final ByteStream b, final ByteStream c, final ByteTriFunction<R> zipFunction) {
          return zip(a.iteratorEx(), b.iteratorEx(), c.iteratorEx(), zipFunction).onClose(newCloseHandler(N.asList(a, b, c)));
      }
docs: Zip together the "a", "b" and "c" streams until one of them runs out of values.
  Each triple of values is combined into a single value using the supplied zipFunction function.
  
  @param a
  @param b
  @return