getArguments(); if (sizeof($arguments) == 3) { $key = $arguments[2] instanceof StringNode ? ArrayNode::create([ clone $arguments[2] ]) : clone $arguments[2]; return $rewritten ->appendMethodCall('merge') ->appendArgument(clone $arguments[0]) ->appendMethodCall('fields') ->appendArgument(clone $arguments[1]) ->appendMethodCall('key') ->appendArgument($key) ->appendMethodCall('execute'); } else { return $rewritten ->appendMethodCall('insert') ->appendArgument(clone $arguments[0]) ->appendMethodCall('fields') ->appendArgument(clone $arguments[1]) ->appendMethodCall('execute'); } } }