private function buildFileList($folder)
    {
        // The list of files to use
        $files = array();

        // Cycle through all of the files in our storage folder removing
        // any files that exceed the cache duration.
        $directory = new DirectoryIterator($folder);

        foreach ($directory as $file)
        {
            // Check if the file is the local file (i.e. dot)
            if($file->isDot())
            {
                // We are the dot, so just skip
                continue;
            }

            // Check if the file is a directory
            if($file->isDir())
            {
                // Recursively call this function
                $files = array_merge($files, $this->buildFileList($file->getRealPath()));
            }
            else
            {
                // Add in the file
                $files[] = $file->getRealPath();
            }
        }

        return $files;
    }