RxComprehensions { public static <A, R> Observable<R> doCompose( final Callable<Observable<A>> zero, final ObservableTransformer<A, R> one) { try { return zero.call() .compose(one); } catch (Exception e) { throw new RuntimeException(e); } } private  RxComprehensions(); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<R>> one); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<R>> two); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<R>> three); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<R>> four); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<R>> five); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<R>> six); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<R>> seven); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<H>> seven,
            final Function8<A, B, C, D, E, F, G, H, Observable<R>> eight); static Observable<R> doFlatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<H>> seven,
            final Function8<A, B, C, D, E, F, G, H, Observable<I>> eight,
            final Function9<A, B, C, D, E, F, G, H, I, Observable<R>> nine); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<R>> one); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<R>> two); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<R>> three); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<R>> four); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<R>> five); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<R>> six); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<R>> seven); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<H>> seven,
            final Function8<A, B, C, D, E, F, G, H, Observable<R>> eight); static Observable<R> doConcatMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<H>> seven,
            final Function8<A, B, C, D, E, F, G, H, Observable<I>> eight,
            final Function9<A, B, C, D, E, F, G, H, I, Observable<R>> nine); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<R>> one); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<R>> two); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<R>> three); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<R>> four); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<R>> five); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<R>> six); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<R>> seven); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<H>> seven,
            final Function8<A, B, C, D, E, F, G, H, Observable<R>> eight); static Observable<R> doSwitchMap(
            final Callable<Observable<A>> zero,
            final Function<A, Observable<B>> one,
            final BiFunction<A, B, Observable<C>> two,
            final Function3<A, B, C, Observable<D>> three,
            final Function4<A, B, C, D, Observable<E>> four,
            final Function5<A, B, C, D, E, Observable<F>> five,
            final Function6<A, B, C, D, E, F, Observable<G>> six,
            final Function7<A, B, C, D, E, F, G, Observable<H>> seven,
            final Function8<A, B, C, D, E, F, G, H, Observable<I>> eight,
            final Function9<A, B, C, D, E, F, G, H, I, Observable<R>> nine); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, R> one); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, R> two); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, C> two,
            final ObservableTransformer<C, R> three); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, C> two,
            final ObservableTransformer<C, D> three,
            final ObservableTransformer<D, R> four); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, C> two,
            final ObservableTransformer<C, D> three,
            final ObservableTransformer<D, E> four,
            final ObservableTransformer<E, R> five); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, C> two,
            final ObservableTransformer<C, D> three,
            final ObservableTransformer<D, E> four,
            final ObservableTransformer<E, F> five,
            final ObservableTransformer<F, R> six); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, C> two,
            final ObservableTransformer<C, D> three,
            final ObservableTransformer<D, E> four,
            final ObservableTransformer<E, F> five,
            final ObservableTransformer<F, G> six,
            final ObservableTransformer<G, R> seven); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, C> two,
            final ObservableTransformer<C, D> three,
            final ObservableTransformer<D, E> four,
            final ObservableTransformer<E, F> five,
            final ObservableTransformer<F, G> six,
            final ObservableTransformer<G, H> seven,
            final ObservableTransformer<H, R> eight); static Observable<R> doCompose(
            final Callable<Observable<A>> zero,
            final ObservableTransformer<A, B> one,
            final ObservableTransformer<B, C> two,
            final ObservableTransformer<C, D> three,
            final ObservableTransformer<D, E> four,
            final ObservableTransformer<E, F> five,
            final ObservableTransformer<F, G> six,
            final ObservableTransformer<G, H> seven,
            final ObservableTransformer<H, I> eight,
            final ObservableTransformer<I, R> nine);  }
@Test public void oneCo() { Assert.assertEquals((RxComprehensions.doCompose(zero(0), intIncrementToString()).blockingFirst()), "1"); }
@Test public void twoCo() { Assert.assertEquals((long)RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt()).blockingFirst(), 1); }
@Test public void threeCo() { Assert.assertEquals((RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt(), intIncrementToString()).blockingFirst()), "2"); }
@Test public void fourCo() { Assert.assertEquals((long)RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt()).blockingFirst(), 2); }
@Test public void fiveCo() { Assert.assertEquals((RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString()).blockingFirst()), "3"); }
@Test public void sixCo() { Assert.assertEquals((long)RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt()).blockingFirst(), 3); }
@Test public void sevenCo() { Assert.assertEquals((RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString()).blockingFirst()), "4"); }
@Test public void eightCo() { Assert.assertEquals((long)RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt()).blockingFirst(), 4); }
@Test public void nineCo() { Assert.assertEquals((RxComprehensions.doCompose(zero(0), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString(), stringToInt(), intIncrementToString()).blockingFirst()), "5"); }