public function preModule(PreModuleEvent $event)
 {
     $pageModuleWrapper = $event->getModuleWrapper();
     $module = $pageModuleWrapper->createObject();
     $cacheProperties = $module->getCacheProperties();
     $event->setExtra('module_cacher.properties', $cacheProperties);
     if ($cacheProperties !== null) {
         $cacheName = $this->getCacheName($pageModuleWrapper, $cacheProperties);
         $event->setExtra('module_cacher.name', $cacheName);
         if (($cache = $this->cache->load($cacheName)) !== false) {
             $event->setContent($cache['content']);
             $event->setExtras(array_merge($event->getExtras(), $cache['extra']));
             $event->setExtra('module_cacher.cached', true);
             $event->stopPropagation();
         }
     }
 }