public function preConditionContract(MethodInvocation $invocation): void
    {
        $object = $invocation->getThis();
        $args   = $this->fetchMethodArguments($invocation);
        $scope  = $invocation->getMethod()->getDeclaringClass()->name;

        $allContracts = $this->fetchAllContracts($invocation);
        $this->ensureContracts($invocation, $allContracts, $object, $scope, $args);
    }