protected function callProxyMethods(string $name, array &$arguments, $result = null)
    {
        if ($this->getMiddlewareGroup(Caller::TYPE_CALLER)->isNotEmpty()) {
            $middleware = $this->getMiddlewareGroup(Caller::TYPE_CALLER);
            $result = $this->callMiddleware($middleware, $name, $arguments, Caller::TYPE_CALLER, $result);

        } elseif ($this->magicMethodsFallbackLocally && is_callable([$this, $name])) {
            $result = $this->$name($arguments);
        }
        return $result;
    }