public static IObservable <IDictionary <string, object> > Extend(this IObservable <IDictionary <string, object> > source, string expression) { var extend = new ExtendOperator(expression); return(Observable.Create <IDictionary <string, object> >( observer => source.Subscribe(e => { try { var r = extend.Extend(e); observer.OnNext(r); } catch (Exception ex) { RxKqlEventSource.Log.LogException(ex.ToString()); observer.OnError(ex); } }))); }