/**
  * Make a unique cache id for for this request.
  * 
  * Any settings that could affect output are taken into consideration  
  *
  * @return string
  */
 protected static function _getCacheId()
 {
     return md5(serialize(array(Diglin_Minify_Source::getDigest(self::$_controller->sources), self::$_options['minifiers'], self::$_options['minifierOptions'], self::$_options['postprocessor'], self::$_options['bubbleCssImports'])));
 }
 /**
  * Analyze sources (if there are any) and set $options 'contentType' 
  * and 'lastModifiedTime' if they already aren't.
  * 
  * @param array $options options for Minify
  * 
  * @return array options for Minify
  */
 public final function analyzeSources($options = array())
 {
     if ($this->sources) {
         if (!isset($options['contentType'])) {
             $options['contentType'] = Diglin_Minify_Source::getContentType($this->sources);
         }
         // last modified is needed for caching, even if setExpires is set
         if (!isset($options['lastModifiedTime'])) {
             $max = 0;
             foreach ($this->sources as $source) {
                 $max = max($source->lastModified, $max);
             }
             $options['lastModifiedTime'] = $max;
         }
     }
     return $options;
 }