/**
  * Initializes autoloaders.
  *
  * @param sfProjectConfiguration $configuration The current project or application configuration
  * @param boolean                $reload        If true, all autoloaders will be reloaded
  */
 protected function initializeAutoload(sfProjectConfiguration $configuration, $reload = false)
 {
     // sfAutoload
     if ($reload) {
         $this->logSection('autoload', 'Resetting application autoloaders');
         $finder = sfFinder::type('file')->name('*autoload.yml.php');
         $this->getFilesystem()->remove($finder->in(sfConfig::get('sf_cache_dir')));
         sfAutoload::getInstance()->reloadClasses(true);
     }
     // sfSimpleAutoload
     if (!$configuration instanceof sfApplicationConfiguration) {
         // plugins
         if ($reload) {
             foreach ($configuration->getPlugins() as $name) {
                 $configuration->getPluginConfiguration($name)->initializeAutoload();
             }
         }
         // project
         $autoload = sfSimpleAutoload::getInstance(sfConfig::get('sf_cache_dir') . '/project_autoload.cache');
         $autoload->loadConfiguration(sfFinder::type('file')->name('autoload.yml')->in(array(sfConfig::get('sf_symfony_lib_dir') . '/config/config', sfConfig::get('sf_config_dir'))));
         $autoload->register();
         if ($reload) {
             $this->logSection('autoload', 'Resetting CLI autoloader');
             $autoload->reload();
         }
     }
 }