/**
* Get the final arguments.
*
* @param object $self The self value.
* @param Arguments $arguments The incoming arguments.
*
* @return Arguments The final arguments.
*/
public function finalArguments($self, Arguments $arguments)
{
$finalArguments = $this->arguments->all();
if ($this->prefixSelf) {
array_unshift($finalArguments, $self);
}
if ($this->suffixArgumentsObject) {
$finalArguments[] = $arguments;
}
if ($this->suffixArguments && $arguments) {
$finalArguments = array_merge($finalArguments, $arguments->all());
}
return new Arguments($finalArguments);
}