private (ExpressionSyntax fullInvocation, string identifierToken) PrepandCallToInvocation(IdentifierNameSyntax mockedObjectIdentifier, string prepandCall, ExpressionSyntax lambdaBody) { var prependInvocation = SyntaxFactory.InvocationExpression(SyntaxFactory.MemberAccessExpression(SyntaxKind.SimpleMemberAccessExpression, mockedObjectIdentifier, SyntaxFactory.IdentifierName(prepandCall))); var nameToken = lambdaBody.DescendantNodes().First(x => x.Kind() == mockedObjectIdentifier.Kind() && ((IdentifierNameSyntax)x).Identifier.ValueText == mockedObjectIdentifier.Identifier.ValueText); var fullInvocation = lambdaBody.ReplaceNode(nameToken, prependInvocation); return(fullInvocation, mockedObjectIdentifier.Identifier.ValueText); }