public static IObservable <T> ToObservable <T>(this IObservableX <T> observableX) { var adapter = observableX as ObservableX <T>; return(adapter != null ? adapter.Observable : Observable.Create <T>(subscribe: observer => observableX.Subscribe(observer.ToObserverX()).Dispose)); }