protected override async Task <RateLimitDescription> Execute(CancellationToken token) { try { var result = await _accessor.GetDirectMessagesAsync(_receiveCount, LastSinceId, null, token).ConfigureAwait(false); result.CallForEachItems(CallHandler); return(result.RateLimit); } catch (Exception ex) { CallExceptionHandler(ex); throw; } }