public function shouldProcess($filename)
    {
        // Derive the name of the file to use
        $destination = $this->getFinalName($filename);

        // Does the destination file exist?
        if(!File::exists($destination))
        {
            // It doesn't exist, so we will need to process
            return true;
        }

        // Otherwise compare the date stamps
        $destinationChanged = File::lastModified($destination);
        $currentChanged = File::lastModified($filename);

        // Which one was last modified later
        if($currentChanged > $destinationChanged)
        {
            // Our destination is older than the actual file, so update
            return true;
        }

        // Touch the file so that we know it's up-to-date
        touch($destination);

        // We don't need to process the file (the old version will do)
        return false;
    }