/**
  * Initializes the cache framework
  *
  * @param Bootstrap $bootstrap
  * @return void
  */
 public static function initializeCacheManagement(Bootstrap $bootstrap)
 {
     $configurationManager = $bootstrap->getEarlyInstance(ConfigurationManager::class);
     $environment = $bootstrap->getEarlyInstance(Environment::class);
     $cacheManager = new CacheManager();
     $cacheManager->setCacheConfigurations($configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_CACHES));
     $cacheManager->injectConfigurationManager($configurationManager);
     $cacheManager->injectSystemLogger($bootstrap->getEarlyInstance(SystemLoggerInterface::class));
     $cacheManager->injectEnvironment($environment);
     $cacheFactory = new CacheFactory($bootstrap->getContext(), $cacheManager, $environment);
     $bootstrap->setEarlyInstance(CacheManager::class, $cacheManager);
     $bootstrap->setEarlyInstance(CacheFactory::class, $cacheFactory);
 }