public function load($filename, __Configuration &$configuration)
 {
     //Set the name for current __Configuration as  the name of configuration file:
     $configuration->setName(strtoupper(basename($filename)));
     if (!file_exists($filename)) {
         throw new __ConfigurationException('Configuration file not found: "' . $filename . '"');
     }
     $current_section =& $configuration;
     $configuration_array = parse_ini_file($filename, true);
     if ($configuration_array === false) {
         throw new __ConfigurationException('Unknow configuration file format for : "' . $filename . '"');
     }
     foreach ($configuration_array as $key => $value) {
         if (is_array($value)) {
             $current_section =& $configuration->createSection($key);
             foreach ($value as $property => $content) {
                 $current_section->createProperty($property, $content);
             }
         } else {
             $current_section->createProperty($key, $value);
         }
     }
 }