async IAsyncEnumerable <ListFindingAggregationsResponse> IPaginator <ListFindingAggregationsResponse> .PaginateAsync(CancellationToken cancellationToken = default) { if (Interlocked.Exchange(ref _isPaginatorInUse, 1) != 0) { throw new System.InvalidOperationException("Paginator has already been consumed and cannot be reused. Please create a new instance."); } PaginatorUtils.SetUserAgentAdditionOnRequest(_request); var nextToken = _request.NextToken; ListFindingAggregationsResponse response; do { _request.NextToken = nextToken; response = await _client.ListFindingAggregationsAsync(_request, cancellationToken).ConfigureAwait(false); nextToken = response.NextToken; cancellationToken.ThrowIfCancellationRequested(); yield return(response); }while (!string.IsNullOrEmpty(nextToken)); }