public <A, T> Observable<Notification<T>> channel(
        final DeliveryMethod type,
        final ObservableFactory<A, T> observableFactory) {

        return channel(type, new Func1<Object, Observable<Notification<T>>>() {
            @Override
            public Observable<Notification<T>> call(final Object arg) {
                return ReconnectableMap.INSTANCE.channel(key, type, new Func0<Observable<T>>() {
                    @Override
                    public Observable<T> call() {
                        return observableFactory.call((A) arg);
                    }
                });
            }
        });
    }
public < A , T > Observable < Notification < T > > channel ( final DeliveryMethod type , final ObservableFactory < A , T > observableFactory ) { return channel ( type , new Func1 < Object , Observable < Notification < T > > > ( ) { @ Override public Observable < Notification < T > > call ( final Object arg ) { return ReconnectableMap . INSTANCE . channel ( key , type , new Func0 < Observable < T > > ( ) { @ Override public Observable < T > call ( ) { return observableFactory . call ( ( A ) arg ) ; } } ) ; } } ) ; }
Provides a channel to an observable that can be created with a given observable factory.

Note that to make use of arguments, both
{@link #channel(DeliveryMethod, ObservableFactory)} and
{@link #launch(Object)} variants should be used.

@param type              a type of the channel.
@param observableFactory an observable factory which will be used to create an observable per launch.
@return an observable which emits {@link rx.Notification} of onNext and onError observable emissions.