public function acceptDir($basename, $pathname, $depth)
 {
     // Skip over the assets directory in the site root.
     if ($depth == 1 && $basename == ASSETS_DIR) {
         return false;
     }
     // Skip over any lang directories in the top level of the module.
     if ($depth == 2 && $basename == self::LANG_DIR) {
         return false;
     }
     // If we're not in testing mode, then skip over the tests directory in
     // the module root.
     if ($this->getOption('ignore_tests') && $depth == 2 && $basename == self::TESTS_DIR) {
         return false;
     }
     // Ignore any directories which contain a _manifest_exclude file.
     if (file_exists($pathname . '/' . self::EXCLUDE_FILE)) {
         return false;
     }
     // Only include top level module directories which have a configuration
     // _config.php file. However, if we're in themes mode then include
     // the themes dir without a config file.
     $lackingConfig = $depth == 1 && !($this->getOption('include_themes') && $basename == THEMES_DIR) && !file_exists($pathname . '/' . self::CONFIG_FILE) && !file_exists($pathname . '/' . self::CONFIG_DIR);
     if ($lackingConfig) {
         return false;
     }
     return parent::acceptDir($basename, $pathname, $depth);
 }