function initSinglePrerequisiteValidationResults($variant_view_tag, $variant_tag, $variant_type_id, $variant_visible_name)
 {
     global $application;
     loadCoreFile('UUIDUtils.php');
     //Cut the suffix. CCInfo prerequisites.
     // : may be to pass in PersonInfoVariantID to getValidatedDataStructure, not the tag.
     $variant_view_tag_for_data_structure = UUIDUtils::cut_uuid_suffix($variant_view_tag, "js");
     /**
      * Call either before the construcor finishes its work,
      * or satatically.
      * Work on the sesson only.
      */
     //Check, if data is already in the session:
     if (isset($this->PrerequisitesValidationResults)) {
         $PrerequisitesValidationResults = $this->PrerequisitesValidationResults;
         // changing the visible name for checkout form fields
         // usage: customer changes the language on the checkout
         /*
         if (is_array($PrerequisitesValidationResults))
             foreach($PrerequisitesValidationResults as $k => $v)
                 if (isset($v['validatedData']) && is_array($v['validatedData']))
                     foreach($v['validatedData'] as $kk => $vv)
                     {
                         $new_data = execQuery('SELECT_VALIDATED_DATA_VISIBLE_LABELS', array('vid' => @$v['id'], 'aid' => @$vv['id']));
                         if ($new_data)
                         {
                             if (isset($vv['attribute_visible_name']))
                                 $PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_visible_name'] = $new_data[0]['attribute_visible_name'];
                             if (isset($vv['attribute_description']))
                                 $PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_description'] = $new_data[0]['attribute_description'];
                         }
                     }
         */
         if (is_array($this->PrerequisitesValidationResults)) {
             $labels = $this->getValidatedDataVisibleLabels();
             foreach ($this->PrerequisitesValidationResults as $k => $v) {
                 if (isset($v['validatedData']) && is_array($v['validatedData'])) {
                     foreach ($v['validatedData'] as $kk => $vv) {
                         if (@$labels[$v['id']][$vv['id']]) {
                             if (isset($vv['attribute_visible_name'])) {
                                 $this->PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_visible_name'] = @$labels[$v['id']][$vv['id']]['attribute_visible_name'];
                             }
                             if (isset($vv['attribute_description'])) {
                                 $this->PrerequisitesValidationResults[$k]['validatedData'][$kk]['attribute_description'] = @$labels[$v['id']][$vv['id']]['attribute_description'];
                             }
                         }
                     }
                 }
             }
         }
     } else {
         //Initialize from the beginning.
         $PrerequisitesValidationResults = array();
     }
     $PrerequisitesValidationResults[$variant_view_tag] = array('variant_tag' => $variant_tag, 'isMet' => false, 'id' => $variant_type_id, 'visibleName' => $variant_visible_name, 'error_code' => '', 'error_message_parameters' => '', 'validatedData' => $this->getValidatedDataStructure($variant_view_tag_for_data_structure));
     //         shipping_method,                           ,  . .
     //                                     ,                         .
     //                   CheckoutFormEditor -                              .
     if ($variant_view_tag == "shippingModuleAndMethod") {
         $b_is_shipping_method_required = Checkout::isPrerequisiteRequired("shippingModuleAndMethod");
         if ($b_is_shipping_method_required === false || Checkout::arePersonInfoTypesActive(array("shippingModuleAndMethod")) === false) {
             //                             shipping method: AllInactive
             $PrerequisitesValidationResults[$variant_view_tag]['isMet'] = true;
             $PrerequisitesValidationResults[$variant_view_tag]['validatedData']['method_code']['value'] = Checkout::getAllInactiveModuleId("shipping") . "_" . modApiFunc(Checkout::getAllInactiveModuleClassAPIName("shipping"), "getSingleAvailableMethodId");
         }
     }
     //         payment_method,                           ,  . .
     //                                     ,                         .
     //                   CheckoutFormEditor -                              .
     if ($variant_view_tag == "paymentModule") {
         $b_is_payment_method_required = Checkout::isPrerequisiteRequired("paymentModule");
         if ($b_is_payment_method_required === false || Checkout::arePersonInfoTypesActive(array("paymentModule")) === false) {
             //                             payment method: AllInactive
             $PrerequisitesValidationResults[$variant_view_tag]['isMet'] = true;
             $PrerequisitesValidationResults[$variant_view_tag]['validatedData']['method_code']['value'] = Checkout::getAllInactiveModuleId("payment");
         }
     }
     if ($variant_view_tag == 'subscriptionTopics') {
         $b_is_subscription_required = Checkout::isPrerequisiteRequired("subscriptionTopics");
         if ($b_is_subscription_required === false || Checkout::arePersonInfoTypesActive(array("subscriptionTopics")) === false) {
             $PrerequisitesValidationResults[$variant_view_tag]['isMet'] = true;
             $PrerequisitesValidationResults[$variant_view_tag]['validatedData']['Topics']['value'] = '';
         }
     }
     $this->PrerequisitesValidationResults = $PrerequisitesValidationResults;
     //modApiFunc('Session', 'set', 'PrerequisitesValidationResults', $PrerequisitesValidationResults);
 }