code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public final <U, R> Maybe<R> zipWith(MaybeSource<? extends U> other, BiFunction<? super T, ? super U, ? extends R> zipper) {
          ObjectHelper.requireNonNull(other, "other is null");
          return zip(this, other, zipper);
      }
docs: Waits until this and the other MaybeSource signal a success value then applies the given BiFunction
  to those values and emits the BiFunction's resulting value to downstream.
  
  <img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/zip.png" alt="">
  
  <p>If either this or the other MaybeSource is empty or signals an error, the resulting Maybe will
  terminate immediately and dispose the other source.
  
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code zipWith} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  
  @param <U>
  the type of items emitted by the {@code other} MaybeSource
  @param <R>
  the type of items emitted by the resulting Maybe
  @param other
  the other MaybeSource
  @param zipper
  a function that combines the pairs of items from the two MaybeSources to generate the items to
  be emitted by the resulting Maybe
  @return the new Maybe instance
  @see <a href="http://reactivex.io/documentation/operators/zip.html">ReactiveX operators documentation: Zip</a>