public EventStoreAllCatchUpSubscription SubscribeToAllFrom( Position? lastCheckpoint, CatchUpSubscriptionSettings settings, Func<EventStoreCatchUpSubscription, ResolvedEvent, Task> eventAppeared, Action<EventStoreCatchUpSubscription> liveProcessingStarted = null, Action<EventStoreCatchUpSubscription, SubscriptionDropReason, Exception> subscriptionDropped = null, UserCredentials userCredentials = null) { Ensure.NotNull(eventAppeared, "eventAppeared"); Ensure.NotNull(settings, "settings"); var catchUpSubscription = new EventStoreAllCatchUpSubscription(this, Settings.Log, lastCheckpoint, userCredentials, eventAppeared, liveProcessingStarted, subscriptionDropped, settings); catchUpSubscription.StartAsync(); return catchUpSubscription; }