public static function getJoinPoint(string $functionName, array $advices): FunctionInvocation
    {
        static $accessor;

        if ($accessor === null) {
            $accessor = AspectKernel::getInstance()->getContainer()->get('aspect.advisor.accessor');
        }

        $filledAdvices = [];
        foreach ($advices as $advisorName) {
            $filledAdvices[] = $accessor->$advisorName;
        }

        return new ReflectionFunctionInvocation($functionName, $filledAdvices);
    }