public IEnumerable <CommentThread> GetCommentThreads(string part, string videoId) { do { var resp = _restApi.GetCommentThreads(videoId, part, nextCommentThreadsBatchToken).GetAwaiter().GetResult(); if (resp == null) { nextCommentThreadsBatchToken = null; yield break; } nextCommentThreadsBatchToken = resp.NextPageToken != nextCommentThreadsBatchToken ? resp.NextPageToken : null; foreach (var commentThread in resp.Items) { yield return(commentThread); } } while (nextCommentThreadsBatchToken != null); }