protected static function wildcardsIndex()
    {
        if ( self::$wildcardsIndex === null )
        {
            $cacheIndexFile = self::loadCacheFile();

            // if NULL is returned, the cache doesn't exist or isn't valid
            self::$wildcardsIndex = $cacheIndexFile->processFile( array( __CLASS__, 'fetchCacheFile' ), self::expiryTimestamp() );
            if ( self::$wildcardsIndex === null )
            {
                // This will generate and return the index, and store the cache
                // files for the different wildcards for later use
                self::$wildcardsIndex = self::createWildcardsIndex();
            }
        }

        return self::$wildcardsIndex;
    }