/**
  * Register Bundles
  *
  * @param Container $container DI container.
  *
  * @return  void
  */
 protected function registerBundles(Container $container)
 {
     if (!is_dir(WINDWALKER_BUNDLE)) {
         return;
     }
     $paths = new PathCollection(array(WINDWALKER . '/bundles', WINDWALKER_BUNDLE));
     $bundles = $paths->find('Bundle$');
     $config = $container->get('windwalker.config');
     foreach ($bundles as $bundle) {
         $bundleName = $bundle->getBasename();
         $class = $bundleName . '\\' . $bundleName;
         \JLoader::registerNamespace($bundleName, dirname((string) $bundle));
         if (class_exists($class) && is_subclass_of($class, 'Windwalker\\Bundle\\AbstractBundle')) {
             $config->set('bundle.' . $bundleName, $class);
             $class::registerProvider($container);
         }
     }
 }