private function getFailure(MethodInvocation $invocation, FailureInterface $failure, \ReflectionMethod $onFailure = null)
    {
        if ($onFailure) {
            return $onFailure->invoke($invocation->getThis(), $failure);
        }

        return $this->failureException($invocation, $failure);
    }
private function getFailure(MethodInvocation $invocation, FailureInterface $failure, \ReflectionMethod $onFailure = null)
    {
        if ($onFailure) {
            return $onFailure->invoke($invocation->getThis(), $failure);
        }

        return $this->failureException($invocation, $failure);
    }
private function getFailure ( MethodInvocation $ invocation , FailureInterface $ failure , \ ReflectionMethod $ onFailure = null ) { if ( $ onFailure ) { return $ onFailure -> invoke ( $ invocation -> getThis ( ) , $ failure ) ; } return $ this -> failureException ( $ invocation , $ failure ) ; }
Return result OnFailure

@param MethodInvocation  $invocation
@param FailureInterface  $failure
@param \ReflectionMethod $onFailure

@return mixed|InvalidArgumentException
Return result OnFailure