/**
  * @return string
  */
 private function keyPrefix()
 {
     if (empty($this->prefix)) {
         return '';
     }
     return $this->prefix . $this->config->getSeparator();
 }
 public function addApplicationConfig(ApplicationConfig $config, $prefix = 'config')
 {
     Assertion::string($prefix);
     if (!empty($prefix)) {
         $prefix .= $config->getSeparator();
     }
     foreach ($config as $key => $value) {
         $this->container[$prefix . $key] = $value;
     }
 }
 /**
  * @param ApplicationConfig $config
  */
 public function __construct(ApplicationConfig $config)
 {
     parent::__construct(new RecursiveArrayIterator($config->asArray()), RecursiveIteratorIterator::SELF_FIRST);
     $this->separator = $config->getSeparator();
 }