code: public static <R> Stream<R> zip(final CharStream a, final CharStream b, final char valueForNoneA, final char valueForNoneB,
              final CharBiFunction<R> zipFunction) {
          return zip(a.iteratorEx(), b.iteratorEx(), valueForNoneA, valueForNoneB, zipFunction).onClose(newCloseHandler(N.asList(a, b)));
      }
docs: Zip together the "a" and "b" iterators until all of them runs out of values.
  Each pair of values is combined into a single value using the supplied zipFunction function.
  
  @param a
  @param b
  @param valueForNoneA value to fill if "a" runs out of values first.
  @param valueForNoneB value to fill if "b" runs out of values first.
  @param zipFunction
  @return