public function loadFromCache(Template $template)
 {
     //        $this->Logger->error(print_r($template->getDeferredContents(), true));
     //        $this->Logger->error(print_r($template->getDeferredParams(), true));
     if ($this->benchmarkRendering) {
         $this->Benchmark->start('load-template-from-cache-' . $template->getName());
     }
     $newParsedContent = $template->getProcessedContent();
     // TODO: THIS IS A PROBLEM!
     foreach ((array) $template->getDeferredContents() as $num => $conts) {
         //            $this->Logger->error($num.': '.$conts);
         //            $newcount = $this->deferredCount++;
         $newParsedContent = str_replace('{% defer ' . $num . ' %}', $conts, $newParsedContent);
         //            if (!isset($this->deferredContents[$num]))
         //                $this->deferredContents[$num] = $conts;
         //            $this->deferredContents[$num.'.'.$newcount] = $conts;
     }
     //        foreach ((array)$template->getDeferredParams() as $name => $val) {
     //            $newcount = $this->deferredOrDependentParamCount++;
     //            $newParsedContent = str_replace('Data:'.$name,'Data:'.$name.'_'.$newcount, $newParsedContent);
     //            if (!isset($this->deferredOrDependentParams[$name]))
     //                $this->deferredOrDependentParams[$name] = $val;
     //            $this->deferredOrDependentParams[$name.'_'.$newcount] = $val;
     //        }
     $template->setProcessedContent($newParsedContent);
     if ($this->benchmarkRendering) {
         $this->Benchmark->end('load-template-from-cache-' . $template->getName());
     }
     return $template;
 }