public async Task <bool> MoveNext(CancellationToken token) { using (call.RegisterCancellationCallbackForToken(token)) { var result = await call.ReadMessageAsync().ConfigureAwait(false); this.current = result; return(result != null); } }