public static function initializeObjectManagerCompileTimeFinalize(Bootstrap $bootstrap)
{
$objectManager = $bootstrap->getObjectManager();
$configurationManager = $bootstrap->getEarlyInstance(ConfigurationManager::class);
$reflectionService = $objectManager->get(ReflectionService::class);
$cacheManager = $bootstrap->getEarlyInstance(CacheManager::class);
$systemLogger = $bootstrap->getEarlyInstance(SystemLoggerInterface::class);
$packageManager = $bootstrap->getEarlyInstance(PackageManagerInterface::class);
$objectManager->injectAllSettings($configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS));
$objectManager->injectReflectionService($reflectionService);
$objectManager->injectConfigurationManager($configurationManager);
$objectManager->injectConfigurationCache($cacheManager->getCache('Flow_Object_Configuration'));
$objectManager->injectSystemLogger($systemLogger);
$objectManager->initialize($packageManager->getActivePackages());
foreach ($bootstrap->getEarlyInstances() as $objectName => $instance) {
$objectManager->setInstance($objectName, $instance);
}
Debugger::injectObjectManager($objectManager);
}