public static <T0, T1, R> Func1<Observer<R>, Subscription> zip( Observable<T0> w0, Observable<T1> w1, Func2<T0, T1, R> zipFunction) { Aggregator<R> a = new Aggregator<R>(Functions.fromFunc(zipFunction)); a.addObserver(new ZipObserver<R, T0>(a, w0)); a.addObserver(new ZipObserver<R, T1>(a, w1)); return a; }