public static function getAddonProvidingClazzOrNamespace(string $clazzOrNamespace)
    {
        $addons = self::getAddons();
        foreach ($addons as $addon) {
            if (empty($addon->getComponents())) {
                continue;
            }
            
            foreach ($addon->getComponents() as $component) {
                if (!empty($component->getClass()) && $component->getClass() == $clazzOrNamespace) {
                    return $addon;
                }
                
                if (!empty($component->getNamespace()) && (strpos($clazzOrNamespace, $component->getNamespace()) === 0)) {
                    return $addon;
                }
            }
        }
        
        return null;
    }