private static function tryResolveByWebTokenJwtSystem(): ?WebTokenJwtSignatureGenerator
    {
        $requiredClasses = [
            WebTokenComponentJws::class,
            WebTokenComponentJwk::class,
            WebTokenComponentJWKFactory::class,
        ];

        foreach ($requiredClasses as $requiredClass) {
            if (!class_exists($requiredClass)) {
                return null;
            }
        }

        return new WebTokenJwtSignatureGenerator();
    }