/**
  * Get template content
  *
  * @param string $template
  * @return string
  * @throws \Exception
  */
 public function getTemplate($template)
 {
     $hash = sprintf('%x', crc32($template));
     if (isset($this->cachedTemplates[$hash])) {
         return $this->cachedTemplates[$hash];
     }
     $this->cachedTemplates[$hash] = $this->readerFactory->create(['fileCollector' => $this->aggregatedFileCollectorFactory->create(['searchPattern' => $template]), 'domMerger' => $this->domMerger])->getContent();
     $this->cache->save(serialize($this->cachedTemplates), static::CACHE_ID);
     return $this->cachedTemplates[$hash];
 }
 /**
  * Get UIReader and collect base files configuration
  *
  * @param string $name
  * @return UiReaderInterface
  */
 public function getReader($name)
 {
     if (!isset($this->uiReader[$name])) {
         $this->domMerger->unsetDom();
         $this->uiReader[$name] = $this->readerFactory->create(['fileCollector' => $this->aggregatedFileCollectorFactory->create(['searchPattern' => sprintf(ManagerInterface::SEARCH_PATTERN, $name)]), 'domMerger' => $this->domMerger]);
     }
     return $this->uiReader[$name];
 }