public function parseTemplateIncludes($unparsedContent, $contentType, $parentTemplate, &$globals, RendererInterface $renderer, $isFinalPass = false, $isDependentPass = false)
 {
     if (!is_null($parentTemplate) && !$isDependentPass && $parentTemplate->isParsedIndependent() && !$parentTemplate->isIndependentTemplates()) {
         return $unparsedContent;
     }
     if (!is_null($parentTemplate) && !$isDependentPass) {
         $this->Logger->debug("Parsing independent includes for [{$parentTemplate->getName()}]");
     }
     $parsedContent = '';
     //        $parentTemplate->setIndependentTemplates(false);
     while (($pos = strpos($unparsedContent, '{% template')) !== false) {
         if (!is_null($parentTemplate) && !$isDependentPass) {
             $parentTemplate->setIndependentTemplates(true);
         }
         //            $parentTemplate->setParsedIndependent(true);
         $parsedContent .= substr($unparsedContent, 0, $pos);
         $unparsedContent = substr($unparsedContent, $pos);
         if (!preg_match("/{% template (.+?)(\\?(.+?))?\\s+%}/s", $unparsedContent, $m)) {
             if ($this->throwRenderExceptions) {
                 throw new Exception("BAD TEMPLATE CALL: {$unparsedContent}");
             } else {
                 $this->Logger->error("BAD TEMPLATE CALL: {$unparsedContent}" . "\nURL: " . URLUtils::fullUrl());
                 continue;
             }
         }
         $unparsedContent = substr($unparsedContent, strlen($m[0]));
         $this->Logger->debug("Found template call: " . $m[0]);
         try {
             $template = $this->loadTemplate($m, $contentType, $parentTemplate, $globals, $isFinalPass, $isDependentPass);
         } catch (Exception $e) {
             if ($this->throwRenderExceptions) {
                 throw $e;
             } else {
                 $this->Logger->error($e->getMessage() . "\nURL: " . URLUtils::fullUrl());
                 continue;
             }
         }
         $this->Logger->debug("Loaded template [" . $template->getName() . "], now processing");
         $newParsedContent = $renderer->processTemplate($template, $contentType, $globals, $isFinalPass, $isDependentPass);
         $parsedContent .= $newParsedContent;
     }
     return $parsedContent . $unparsedContent;
 }