private void InvokeMethod(Script script, MethodDeclaration firstMethod, MethodDeclaration secondMethod) { var statement = new ExpressionStatement(new InvocationExpression(new IdentifierExpression(firstMethod.Name), firstMethod.Parameters.Select( declaration => GetArgumentExpression(declaration).Clone()))); statement.AcceptVisitor(_insertParenthesesVisitor); if (firstMethod.ReturnType.ToString() != "System.Void") { var returnStatement = new ReturnStatement(statement.Expression.Clone()); script.Replace(secondMethod.Body, new BlockStatement { returnStatement }); } else { script.Replace(secondMethod.Body, new BlockStatement { statement }); } }