public override async Task ProcessInternal(Post post, DirectoryInfo workDir, CancellationToken token, ILog log) { var allComments = await vkApiUtils.GetAllPagesAsync(vkApiUtils.Comments(post), 100, token, log); log.Debug($"Post {post.Id} has {allComments.Count} comments"); var byDate = allComments .OrderBy(c => c.Date) .ToList(); await byDate.SaveHumanReadableText(filesystemTools, workDir, token, log); var commentTasks = byDate .Where(c => c.Attachments.Count > 0) .Select(c => commentHandler.Process(c, workDir, token, log)); await Task.WhenAll(commentTasks); }