public function parseDebugModel()
 {
     Log::writeInfo("Parsing event model...");
     if (!file_exists(realpath(getcwd() . DS . Config::$CLASS_LOCATION))) {
         $msg = "Seems, that the class location is wrong. Please, check it and run CodeRunner again.";
         Log::writeError($msg, $target = "console");
         throw new CodeRunnerException($msg);
     }
     $event_handlers_model = new EventHandlersModel();
     $event_handlers_model->setApplicationId(Config::$APPLICATION_ID);
     $event_handlers_model->setAppVersionId(Config::$APP_VERSION);
     try {
         foreach (Config::$CORE['provider'] as $provider_name => $provider_data) {
             $class_list = [];
             $class_list = ReflectionUtil::getClassesByProvider($provider_data);
             if (count($class_list) <= 0) {
                 continue;
             }
             foreach ($class_list as $class) {
                 $this->processAnalyze($provider_name, $provider_data, $class, $event_handlers_model);
             }
         }
         $executor = CodeExecutorHolder::getInstance()->getCodeExecutor(Config::$APPLICATION_ID, Config::$APP_VERSION);
         $executor->setEventHandlersModel($event_handlers_model);
     } catch (Exception $e) {
         throw new CodeRunnerException($e);
     }
     return $event_handlers_model;
 }
 public function __construct()
 {
     $this->executor_holder = CodeExecutorHolder::getInstance();
     $this->timeout = 1000 * 60 * 20;
     //20 minutes in millis
 }