/**
  * Fire collector for modules.
  *
  * @since 1.0.0
  * @return bool
  */
 private function run_collector()
 {
     if (!is_array($this->settings['modules']) || empty($this->settings['modules'])) {
         return false;
     }
     // Cherry_Toolkit module should be loaded by default.
     if (!isset($this->settings['modules']['cherry-toolkit'])) {
         $this->settings['modules']['cherry-toolkit'] = array('autoload' => true);
     }
     foreach ($this->settings['modules'] as $module => $settings) {
         $priority = $this->get_module_priority($module);
         $path = $this->get_module_path($module);
         if (!array_key_exists($module, self::$all_modules)) {
             self::$all_modules[$module] = array($priority => $path);
         } else {
             $old_priority = array_keys(self::$all_modules[$module]);
             if (!is_array($old_priority) || !isset($old_priority[0])) {
                 continue;
             }
             $compare = version_compare($old_priority[0], $priority, '<');
             if ($compare) {
                 continue;
             }
             self::$all_modules[$module] = array($priority => $path);
         }
     }
     /**
      * Filter a holder for all modules.
      *
      * @since 1.1.0
      * @var array
      */
     self::$all_modules = apply_filters('cherry_core_all_modules', self::$all_modules, $this);
 }