public async void ReplacePersonNamesInParagraphNodes(HtmlDocument htmlDocument) { var paragraphNodes = htmlDocument.DocumentNode.SelectNodes("//p"); foreach (var node in paragraphNodes) { var pieces = node.InnerHtml.Split('.'); foreach (var s in pieces) { try { var names = await _personNameFinder.FindPersonNames(s); foreach (var name in names) { var newName = _nameGenerator.GenerateReplacementName(name); node.InnerHtml = node.InnerHtml.Replace(name, newName); } } catch (Exception e) { _logger.LogError(e, e.Message); } } } }