public function boot()
{
$i = 0;
$rebootSources = [];
while ($i == 0 || $this->needsReboot()) {
$this->resetReboot();
foreach ($this->configElements as $config) {
$config->boot($this);
}
if ($this->needsReboot()) {
$rebootSources = array_merge($rebootSources, $this->needRebootBy);
}
$i++;
if ($i > 100) {
throw new \RuntimeException(sprintf('Can not boot bundle configuration, there is a infinite loop. Reboots triggered by: ', json_encode($rebootSources, JSON_PRETTY_PRINT)));
}
}
}