public function setsArgument($indexOrValue = null, $value = null)
{
if (func_num_args() > 1) {
$index = $indexOrValue;
} else {
$index = 0;
$value = $indexOrValue;
}
if ($value instanceof InstanceHandle) {
$value = $value->get();
}
return $this->callsWith(function ($arguments) use($index, $value) {
$arguments->set($index, $value);
}, array(), false, true, false);
}