public function callsArgumentWith($index = 0, $arguments = array(), $prefixSelf = false, $suffixArgumentsObject = false, $suffixArguments = false)
{
$invoker = $this->invoker;
if (!$arguments instanceof Arguments) {
$arguments = new Arguments($arguments);
}
return $this->callsWith(function ($self, $incoming) use($invoker, $index, $arguments, $prefixSelf, $suffixArgumentsObject, $suffixArguments) {
$callback = $incoming->get($index);
$request = new CallRequest($callback, $arguments, $prefixSelf, $suffixArgumentsObject, $suffixArguments);
$finalArguments = $request->finalArguments($self, $incoming);
return $invoker->callWith($callback, $finalArguments);
}, array(), true, true, false);
}