code: public static <T1, T2, T3, T4, T5, T6, R> Func6<T1, T2, T3, T4, T5, T6, Observable<R>> toAsyncThrowing(final ThrowingFunc6<? super T1, ? super T2, ? super T3, ? super T4, ? super T5, ? super T6, ? extends R> func, final Scheduler scheduler) {
          return new Func6<T1, T2, T3, T4, T5, T6, Observable<R>>() {
              @Override
              public Observable<R> call(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6) {
                  return startCallable(ThrowingFunctions.toCallable(func, t1, t2, t3, t4, t5, t6), scheduler);
              }
          };
      }
docs: Convert a synchronous function call into an asynchronous function call through an Observable.
  <p>
  <img width="640" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toAsync.png" alt="">
  
  @param <T1> the first parameter type
  @param <T2> the second parameter type
  @param <T3> the third parameter type
  @param <T4> the fourth parameter type
  @param <T5> the fifth parameter type
  @param <T6> the sixth parameter type
  @param <R> the result type
  @param func the function to convert
  @return a function that returns an Observable that executes the {@code func} and emits its returned value
  @see <a href="https://github.com/ReactiveX/RxJava/wiki/Async-Operators#wiki-toasync-or-asyncaction-or-asyncfunc">RxJava Wiki: toAsync()</a>
  @see <a href="http://msdn.microsoft.com/en-us/library/hh229716.aspx">MSDN: Observable.ToAsync</a>