public static function searchAddonClassFile(string $class)
    {
        // check if there is an addon that provides the class.
        $addon = self::getAddonProvidingClazzOrNamespace($class);
        
        if (!empty($addon)) {
            // if there was an addon found providing this specific class, we search that first.
            $classFile = self::searchAddonClassFileInAddon($class, $addon);
            if ($classFile !== false) {
                return $classFile;
            }
        }
        
        // search all other addons for the class file by path
        $addons = self::getAddons();
        
        foreach ($addons as $addon) {
            $classFile = self::searchAddonClassFileInAddon($class, $addon);
            if ($classFile !== null) {
                return $classFile;
            }
        }
        
        return false;
    }