private async Task<Document> AddConfigureAwait(Document document, AwaitExpressionSyntax awaitSyntax, bool value, CancellationToken cancellationToken)
{
var oldExpression = awaitSyntax.Expression;
var newExpression =
SyntaxFactory.InvocationExpression(
SyntaxFactory.MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, oldExpression,
SyntaxFactory.IdentifierName("ConfigureAwait")),
SyntaxFactory.ArgumentList(
SyntaxFactory.SingletonSeparatedList(
SyntaxFactory.Argument(
SyntaxFactory.LiteralExpression(
value ? SyntaxKind.TrueLiteralExpression : SyntaxKind.FalseLiteralExpression)))));
return await document.ReplaceAsync(oldExpression, newExpression, cancellationToken).ConfigureAwait(false);
}
}