/**
  * Gets the template directory to use for a given module and template file.
  *
  * @param string The module name
  * @param string The template file
  *
  * @return string A template directory
  */
 public function getTemplateDir($moduleName, $templateFile)
 {
     // if there is a configuration dimension
     if ($this->hasDimension()) {
         $cacheKey = sprintf('sf_template_dirs_%s_%s', $moduleName, $templateFile);
         // if there is a cache return it
         if ($this->dimension->getCache()->has($cacheKey)) {
             $dirs = $this->dimension->getCache()->get($cacheKey);
         } else {
             $dirs = null;
             $paths = $this->getTemplateDirs($moduleName);
             foreach ($paths as $dir) {
                 if (is_readable($dir . '/' . $templateFile)) {
                     $dirs = $dir;
                     break;
                 }
             }
             /*
             if($dirs === null)
             {
               throw new sfException(sprintf('Could not find template "%s" in paths "%s"', $templateFile, var_export($paths, true)));
             }
             */
             // save cache
             $this->dimension->getCache()->set($cacheKey, $dirs);
         }
     } else {
         $dirs = parent::getTemplateDir($moduleName, $templateFile);
     }
     return $dirs;
 }