private IObservable <IThreadSafeTimeEntry> continueTimeEntry(ContinueTimeEntryInfo continueInfo) { return(interactorFactory.GetTimeEntryById(continueInfo.Id).Execute() .SubscribeOn(schedulerProvider.BackgroundScheduler) .Select(timeEntry => timeEntry.AsTimeEntryPrototype()) .SelectMany(prototype => interactorFactory.ContinueTimeEntryFromMainLog( prototype, continueInfo.ContinueMode, continueInfo.IndexInLog, continueInfo.DayInLog, continueInfo.DaysInThePast).Execute()) .Do(_ => OnboardingStorage.SetTimeEntryContinued())); }