IEnumerable <ListPermissionGroupsResponse> IPaginator <ListPermissionGroupsResponse> .Paginate() { 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; ListPermissionGroupsResponse response; do { _request.NextToken = nextToken; response = _client.ListPermissionGroups(_request); nextToken = response.NextToken; yield return(response); }while (!string.IsNullOrEmpty(nextToken)); }