/**
  * Returns an array holding the template directories.
  * 
  * @since       3
  * @return      array       Contains list of template directory paths.
  */
 private function _getTemplateDirs()
 {
     if (!empty(self::$_aTemplateDirs)) {
         return self::$_aTemplateDirs;
     }
     foreach ($this->_getTemplateContainerDirs() as $__sTemplateDirPath) {
         if (!@file_exists($__sTemplateDirPath)) {
             continue;
         }
         $__aFoundDirs = glob($__sTemplateDirPath . DIRECTORY_SEPARATOR . "*", GLOB_ONLYDIR);
         if (is_array($__aFoundDirs)) {
             // glob can return false
             self::$_aTemplateDirs = array_merge($__aFoundDirs, self::$_aTemplateDirs);
         }
     }
     self::$_aTemplateDirs = array_unique(self::$_aTemplateDirs);
     self::$_aTemplateDirs = (array) apply_filters('aal_filter_template_directories', self::$_aTemplateDirs);
     self::$_aTemplateDirs = array_filter(self::$_aTemplateDirs);
     // drops elements of empty values.
     self::$_aTemplateDirs = array_unique(self::$_aTemplateDirs);
     return self::$_aTemplateDirs;
 }