original_string: public function setCache($cache)
      {
          if (is_string($cache) && class_exists($cache)) {
              $cache = new $cache();
          }
          
          if (is_array($cache)) {
              $cache = StorageFactory::factory($cache);
          }
          
          if (!$cache instanceof AbstractCacheAdapter) {
              throw new \Exception('Invalid Cache');
          }
          
          $this->cache = $cache;
      }
code: public function setCache($cache)
      {
          if (is_string($cache) && class_exists($cache)) {
              $cache = new $cache();
          }
          
          if (is_array($cache)) {
              $cache = StorageFactory::factory($cache);
          }
          
          if (!$cache instanceof AbstractCacheAdapter) {
              throw new \Exception('Invalid Cache');
          }
          
          $this->cache = $cache;
      }
code_tokens: public function setCache ( $ cache ) { if ( is_string ( $ cache ) && class_exists ( $ cache ) ) { $ cache = new $ cache ( ) ; } if ( is_array ( $ cache ) ) { $ cache = StorageFactory :: factory ( $ cache ) ; } if ( ! $ cache instanceof AbstractCacheAdapter ) { throw new \ Exception ( 'Invalid Cache' ) ; } $ this -> cache = $ cache ; }
docstring: Set cache for CSS Preprocessor
  
  Cache parameter can be an instance of \Zend\Cache\Storage\Adapter\AbstractAdapter,
  the name of a cache adapter class or an array of options to be passed
  to AbstractAdapter::factory()
  
  @param string|array|\Zend\Cache\Storage\Adapter\AbstractAdapter $cache
  @throws \Exception on invalid cache
docstring_tokens: Set cache for CSS Preprocessor