Prefer an anonymous Func1, for example,
```java
    public <R> Observable<R> mergeMapIterable(final Func1<? super T, ? extends Iterable<? extends R>> collectionSelector) {
      return flatMap(new Func1<T, Observable<? extends R>>() {
        @Override
        public Observable<? extends R> call(T t1) {
            return Observable.from(collectionSelector.call(t1));
        }
      });
    }
    
    public <U, R> Observable<R> mergeMapIterable(
            final Func1<? super T, ? extends Iterable<? extends U>> collectionSelector,
            Func2<? super T, ? super U, ? extends R> resultSelector) {
        return mergeMap(new Func1<T, Observable<? extends U>>() {
            @Override
            public Observable<? extends U> call(T t1) {
                return Observable.from(collectionSelector.call(t1));
            }
        }, resultSelector);
    }
```