driver-async/src/main/com/mongodb/async/client/Observables.java
public static <TResult> Observable<TResult> observe(final MongoIterable<TResult> mongoIterable) {
        return new Observable<TResult>() {
            @Override
            public void subscribe(final Observer<? super TResult> observer) {
                new MongoIterableSubscription<TResult>(mongoIterable, observer);
            }
        };
    }
public static <TResult> Observable<TResult> observe(final MongoIterable<TResult> mongoIterable) {
        return new Observable<TResult>() {
            @Override
            public void subscribe(final Observer<? super TResult> observer) {
                new MongoIterableSubscription<TResult>(mongoIterable, observer);
            }
        };
    }
Convert a {@link MongoIterable} into an {@link Observable}.

@param mongoIterable the MongoIterable to subscribe to
@param <TResult>     The type of result being observed
@return the observable version of the mongoIterable