public function doRun(InputInterface $input, OutputInterface $output)
{
// xdebug's default nesting level of 100 is not enough
if (extension_loaded('xdebug') && false === strpos(ini_get('disable_functions'), 'ini_set')) {
$oldValue = ini_get('xdebug.max_nesting_level');
if ($oldValue === false || $oldValue < 256) {
ini_set('xdebug.max_nesting_level', 256);
}
}
if ($input->hasParameterOption(array('--config-reference'))) {
$input = new ArrayInput(array('--config-reference' => true));
}
if ($path = $input->getParameterOption(array('--config', '-c'))) {
if (!is_file($path)) {
throw new ConfigurationLoadingException("The requested config file does not exist");
}
$this->configurationLoader->setConfigurationFilePath($path);
}
$this->add($this->createCommand($input, $output));
return parent::doRun($input, $output);
}