public async Task End(Exception ex = null) { if (ex != null) { return; } if (this.CurrentPosition.HasValue) { await _checkpoints.Save(_settings.EndpointName(), CurrentPosition.Value); } }