public ScriptingValue Invoke(ScriptingValue firstArgument, params ScriptingValue[] arguments) { RuntimeValueWrapper result = ValueWrapper.Invoke(firstArgument.ValueWrapper); foreach (ScriptingValue argument in arguments) { result = result.Invoke(argument.ValueWrapper); } return(new ScriptingValue(result)); }