public static function init($checkMagicAutoload = true)
    {
        // check first if init wasn't done already
        if (!self::$initialized) {
            // clear stack
            spl_autoload_register(null, false);

            // check if a magic __autoload function exists
            if ($checkMagicAutoload && function_exists('__autoload')) {
                spl_autoload_register('__autoload');
            }

            // mark init done
            self::$initialized = true;
        }
    }