private async Task <Document> RegenerateDefaultMappingsAsync( Document document, LambdaExpressionSyntax lambda, string automappableMembers, CancellationToken cancellationToken) { var parsedMappableMembers = automappableMembers .Split(';') .Where(x => string.IsNullOrWhiteSpace(x) == false) .ToArray(); var sourceIdentifierName = lambda .ChildNodes().OfType <ParameterListSyntax>().Single() .ChildNodes().OfType <ParameterSyntax>().Single() .ChildTokens().Single().ToString().Trim(); var preparedNames = parsedMappableMembers .Select(x => $"{x}={sourceIdentifierName}.{x},\r\n") .ToArray(); var preparedJoinedNames = string.Join("", preparedNames); var newInitializerText = $@"new X{{ {preparedJoinedNames}}}"; var newInitializer = ((ObjectCreationExpressionSyntax)SF.ParseExpression(newInitializerText)) .ChildNodes().OfType <InitializerExpressionSyntax>().Single(); var oldInitializer = lambda .ChildNodes().OfType <ObjectCreationExpressionSyntax>().Single() .ChildNodes().OfType <InitializerExpressionSyntax>().Single(); var newRawLambda = lambda.ReplaceNode(oldInitializer, newInitializer); document = await ParseSyntaxTextAndReplaceNode(document, lambda, newRawLambda, cancellationToken); return(document); }