public static <T> FutureTask<Void> forEachFuture(
            Observable<? extends T> source, 
            Action1<? super T> onNext,
            Action1<? super Throwable> onError) {
        return forEachFuture(source, onNext, onError, Functionals.empty());
    }
public static < T > FutureTask < Void > forEachFuture ( Observable < ? extends T > source , Action1 < ? super T > onNext , Action1 < ? super Throwable > onError ) { return forEachFuture ( source , onNext , onError , Functionals . empty ( ) ) ; }
Subscribes to the given source and calls the callback for each emitted item,
and surfaces the completion or error through a Future.
@param <T> the element type of the Observable
@param source the source Observable
@param onNext the action to call with each emitted element
@param onError the action to call when an exception is emitted
@return the Future representing the entire for-each operation