public static IObservableX <T> CatchAndDelayRethrowBy <T>(this IObservableX <T> source, TimeSpan dueTime) { return(source.Catch((Exception e) => ThrowAfterTimeout <T>(dueTime, e))); }