/**
  * PHPDOC
  *
  * @param string  $value     Type of object metadata is for (e.g., comment, post, or user)
  * @param int     $object_id ID of the object metadata is for
  * @param string  $meta_key  Optional. Metadata key.
  * @param boolean $single    Optional.
  *
  * @return mixed Single metadata value, or array of values
  *
  * @since PHPDOC
  */
 public function fix_product_summary_featured_image($value, $object_id, $meta_key, $single)
 {
     if ('_thumbnail_id' == $meta_key) {
         $summary_data = NelioABVisitor::get_alternative_for_wc_product_summary_alt_exp($object_id);
         if ($summary_data) {
             $this->add_active_product_summary_experiment($summary_data['exp'], $summary_data['alt']);
             /** @var NelioABAlternative $alt */
             $alt = $summary_data['alt'];
             $value = $alt->get_value();
             // This first IF is a safeguard...
             if (is_array($value) && isset($value['image_id'])) {
                 if ($single) {
                     return $value['image_id'];
                 } else {
                     return $value['image_id'];
                 }
             }
         }
     }
     return $value;
 }