private static async Task ConvertStringEmptyToEmptyStringLiteralAsync(RefactoringContext context, MemberAccessExpressionSyntax memberAccess) { if (ReplaceStringEmptyWithEmptyStringLiteralRefactoring.CanRefactor(memberAccess, await context.GetSemanticModelAsync().ConfigureAwait(false), context.CancellationToken)) { context.RegisterRefactoring( $"Replace '{memberAccess}' with \"\"", cancellationToken => { return(ReplaceStringEmptyWithEmptyStringLiteralRefactoring.RefactorAsync( context.Document, memberAccess, cancellationToken)); }); } else { memberAccess = (MemberAccessExpressionSyntax)memberAccess .FirstAncestorOf(SyntaxKind.SimpleMemberAccessExpression); if (memberAccess != null) { await ConvertStringEmptyToEmptyStringLiteralAsync(context, memberAccess).ConfigureAwait(false); } } }