/**
  * Returns the list of running experiments for which the current user has one alternative assigned.
  *
  * @return array the list of running experiments for which the current user has one alternative assigned.
  *
  * @see NelioABVisitor::get_experiment_ids_in_request
  *
  * @since 4.0.0
  */
 public static function get_relevant_running_experiments_from_cache()
 {
     if (self::$relevant_running_experiments) {
         return self::$relevant_running_experiments;
     }
     $env_ids = NelioABVisitor::get_experiment_ids_in_request();
     $running_experiments = self::get_running_experiments_from_cache();
     $relevant_running_experiments = array();
     foreach ($running_experiments as $exp) {
         /** @var NelioABExperiment $exp */
         $is_relevant = false;
         for ($i = 0; $i < count($env_ids) && !$is_relevant; ++$i) {
             if ($exp->get_id() == $env_ids[$i]) {
                 $is_relevant = true;
             }
         }
         if ($is_relevant) {
             $already_in_array = false;
             foreach ($relevant_running_experiments as $relevant_exp) {
                 /** @var NelioABExperiment $relevant_exp */
                 if ($relevant_exp->get_id() == $exp->get_id()) {
                     $already_in_array = true;
                 }
             }
             if (!$already_in_array) {
                 array_push($relevant_running_experiments, $exp);
             }
         }
     }
     if (NelioABVisitor::is_fully_loaded()) {
         self::$relevant_running_experiments = $relevant_running_experiments;
     } else {
         self::$relevant_running_experiments = false;
     }
     return $relevant_running_experiments;
 }