/**
  * @param string                           $path
  * @param DependencyConfigurationInterface $config
  */
 public function addConfigFileToConfiguration($path, $config)
 {
     $configFileAsArray = Yaml::parse($path);
     foreach ($configFileAsArray['awin-dependency-injection'] as $configSetting) {
         $dependencyName = $configSetting['dependency-name'];
         if (isset($configSetting['param-types'])) {
             foreach ($configSetting['param-types'] as $subdependencyName => $subdependencyType) {
                 $config->setSubdependencyType($dependencyName, $subdependencyName, $subdependencyType);
             }
         }
         if (isset($configSetting['param-values'])) {
             foreach ($configSetting['param-values'] as $subdependencyName => $subdependencyValue) {
                 $config->setSubdependencyValue($dependencyName, $subdependencyName, $subdependencyValue);
             }
         }
     }
 }
 /**
  * @param string              $dependencyClassname
  * @param ReflectionParameter $subdependencyReflectionParam
  * @return string
  */
 protected function getSubdependencyType($dependencyClassname, $subdependencyReflectionParam)
 {
     if ($this->configuration->hasSubdependencyType($dependencyClassname, $subdependencyReflectionParam->name)) {
         $typeToReturn = $this->configuration->getSubdependencyType($dependencyClassname, $subdependencyReflectionParam->name);
         $this->errorCheckConfiguredSubdependencyType($subdependencyReflectionParam, $typeToReturn, $dependencyClassname);
     } else {
         $typeToReturn = $subdependencyReflectionParam->getClass()->name;
     }
     return $typeToReturn;
 }