static function buildFromJSON($vo_json)
 {
     $o_bc_details = new BankCardDetails();
     if (array_key_exists("bank_card_details_fee_other", $vo_json)) {
         $o_bc_details->setFeeOther($vo_json["bank_card_details_fee_other"]);
     }
     if (array_key_exists("bank_card_details_accept_amex", $vo_json)) {
         $o_bc_details->setAcceptAmex($vo_json["bank_card_details_accept_amex"]);
     }
     if (array_key_exists("bank_card_details_amex_average_monthly_volume", $vo_json)) {
         $o_bc_details->setAmexAverageMonthlyVolume($vo_json["bank_card_details_amex_average_monthly_volume"]);
     }
     if (array_key_exists("bank_card_details_amex_average_ticket_amount", $vo_json)) {
         $o_bc_details->setAmexAverageTicketAmount($vo_json["bank_card_details_amex_average_ticket_amount"]);
     }
     if (array_key_exists("bank_card_details_amex_cap_number", $vo_json)) {
         $o_bc_details->setAmexCapNumber($vo_json["bank_card_details_amex_cap_number"]);
     }
     if (array_key_exists("bank_card_details_amex_current_number", $vo_json)) {
         $o_bc_details->setAmexCurrentNumber($vo_json["bank_card_details_amex_current_number"]);
     }
     if (array_key_exists("bank_card_details_amex_max_high_ticket_amount", $vo_json)) {
         $o_bc_details->setAmexMaxHighTicketAmount($vo_json["bank_card_details_amex_max_high_ticket_amount"]);
     }
     if (array_key_exists("bank_card_details_amex_max_monthly_volume", $vo_json)) {
         $o_bc_details->setAmexMaxMonthlyVolume($vo_json["bank_card_details_amex_max_monthly_volume"]);
     }
     if (array_key_exists("bank_card_details_amex_transaction_fee", $vo_json)) {
         $o_bc_details->setAmexTransactionFee($vo_json["bank_card_details_amex_transaction_fee"]);
     }
     if (array_key_exists("bank_card_details_amex_auth_fee", $vo_json)) {
         $o_bc_details->setAmexAuthFee($vo_json["bank_card_details_amex_authorization_fee"]);
     }
     if (array_key_exists("bank_card_details_auth_fee", $vo_json)) {
         $o_bc_details->setAuthFee($vo_json["bank_card_details_authorization_fee"]);
     }
     if (array_key_exists("bank_card_details_avs", $vo_json)) {
         $o_bc_details->setAvs($vo_json["bank_card_details_avs"]);
     }
     if (array_key_exists("bank_card_details_average_monthly_voume", $vo_json)) {
         $o_bc_details->setAverageMonthlyVolume($vo_json["bank_card_details_average_monthly_voume"]);
     }
     if (array_key_exists("bank_card_details_average_ticket_amount", $vo_json)) {
         $o_bc_details->setAverageTicket($vo_json["bank_card_details_average_ticket_amount"]);
     }
     if (array_key_exists("bank_card_details_batch_settlement", $vo_json)) {
         $o_bc_details->setBatchSettlement($vo_json["bank_card_details_batch_settlement"]);
     }
     if (array_key_exists("bank_card_details_card_present_percentage", $vo_json)) {
         $o_bc_details->setCardPresentPercentage($vo_json["bank_card_details_card_present_percentage"]);
     }
     if (array_key_exists("bank_card_details_chargeback_fee", $vo_json)) {
         $o_bc_details->setChargebackFee($vo_json["bank_card_details_chargeback_fee"]);
     }
     if (array_key_exists("bank_card_details_flat_rate", $vo_json)) {
         $o_bc_details->setFlatRate($vo_json["bank_card_details_flat_rate"]);
     }
     if (array_key_exists("bank_card_details_gateway_access", $vo_json)) {
         $o_bc_details->setGatewayAccess($vo_json["bank_card_details_gateway_access"]);
     }
     if (array_key_exists("bank_card_details_gateway_transaction", $vo_json)) {
         $o_bc_details->setGatewayTransaction($vo_json["bank_card_details_gateway_transaction"]);
     }
     if (array_key_exists("bank_card_details_internet_percentage", $vo_json)) {
         $o_bc_details->setInternetPercentage($vo_json["bank_card_details_internet_percentage"]);
     }
     if (array_key_exists("bank_card_details_max_ticket", $vo_json)) {
         $o_bc_details->setMaxTicket($vo_json["bank_card_details_max_ticket"]);
     }
     if (array_key_exists("bank_card_details_max_monthly_volume", $vo_json)) {
         $o_bc_details->setMaxMonthlyVolume($vo_json["bank_card_details_max_monthly_volume"]);
     }
     if (array_key_exists("bank_card_details_mid_qual_rate", $vo_json)) {
         $o_bc_details->setMidQualRate($vo_json["bank_card_details_mid_qual_rate"]);
     }
     if (array_key_exists("bank_card_details_minimum_discount", $vo_json)) {
         $o_bc_details->setMinimumDiscount($vo_json["bank_card_details_minimum_discount"]);
     }
     if (array_key_exists("bank_card_details_monthly_fee", $vo_json)) {
         $o_bc_details->setMonthlyFee($vo_json["bank_card_details_monthly_fee"]);
     }
     if (array_key_exists("bank_card_details_non_qual_rate", $vo_json)) {
         $o_bc_details->setNonQualRate($vo_json["bank_card_details_non_qual_rate"]);
     }
     if (array_key_exists("bank_card_details_online_statement_fee", $vo_json)) {
         $o_bc_details->setOnlineStmtFee($vo_json["bank_card_details_online_statement_fee"]);
     }
     if (array_key_exists("bank_card_details_pci_compliance_monthly", $vo_json)) {
         $o_bc_details->setPciComplianceMonthly($vo_json["bank_card_details_pci_compliance_monthly"]);
     }
     if (array_key_exists("bank_card_details_pass_through_plus", $vo_json)) {
         $o_bc_details->setPassThroughPlus($vo_json["bank_card_details_pass_through_plus"]);
     }
     if (array_key_exists("bank_card_details_pin_debit_atm_transaction", $vo_json)) {
         $o_bc_details->setPinDebitAtmTransaction($vo_json["bank_card_details_pin_debit_atm_transaction"]);
     }
     if (array_key_exists("bank_card_details_payment_url", $vo_json)) {
         $o_bc_details->setPaymentUrl($vo_json["bank_card_details_payment_url"]);
     }
     if (array_key_exists("bank_card_details_qual_rate", $vo_json)) {
         $o_bc_details->setQualRate($vo_json["bank_card_details_qual_rate"]);
     }
     if (array_key_exists("bank_card_details_recurring", $vo_json)) {
         $o_bc_details->setRecurring($vo_json["bank_card_details_recurring"]);
     }
     if (array_key_exists("bank_card_details_transaction_fee", $vo_json)) {
         $o_bc_details->setTransactionFee($vo_json["bank_card_details_transaction_fee"]);
     }
     if (array_key_exists("bank_card_details_wireless_fee", $vo_json)) {
         $o_bc_details->setWirelessFee($vo_json["bank_card_details_wireless_fee"]);
     }
     if (array_key_exists("bank_card_details_cardholder_charged", $vo_json)) {
         $o_bc_details->setCardholderCharged($vo_json["bank_card_details_cardholder_charged"]);
     }
     if (array_key_exists("bank_card_details_cardholder_data_stored_locally", $vo_json)) {
         $o_bc_details->setCardholderDataStoredLocally($vo_json["bank_card_details_cardholder_data_stored_locally"]);
     }
     if (array_key_exists("bank_card_details_debit_signature_cards_requested", $vo_json)) {
         $o_debit_signature_cards = $vo_json["bank_card_details_debit_signature_cards_requested"];
         for ($n_index = 0, $n_size = count($o_debit_signature_cards); $n_index < $n_size; $n_index++) {
             $o_bc_details->addDebitSignatureCardsRequested($o_debit_signature_cards[$n_index]);
         }
     }
     if (array_key_exists("bank_card_details_prev_term_as_a_visa_mc_merchant", $vo_json)) {
         $o_bc_details->setPreviouslyTerminatedAsVisaMastercardMerchant($vo_json["bank_card_details_prev_term_as_a_visa_mc_merchant"]);
     }
     if (array_key_exists("bank_card_details_visa_mc_signage", $vo_json)) {
         $o_bc_details->setVisaMastercardSignage($vo_json["bank_card_details_visa_mc_signage"]);
     }
     if (array_key_exists("bank_card_details_3rd_party_access_to_cardholder_data", $vo_json)) {
         $o_bc_details->set3rdPartyAccessToCardholderData($vo_json["bank_card_details_3rd_party_access_to_cardholder_data"]);
     }
     if (array_key_exists("bank_card_details_other_brands_requested", $vo_json)) {
         $o_other_brands = $vo_json["bank_card_details_other_brands_requested"];
         for ($n_index = 0, $n_size = count($o_other_brands); $n_index < $n_size; $n_index++) {
             $o_bc_details->addOtherBrandsRequested($o_other_brands[$n_index]);
         }
     }
     if (array_key_exists("bank_card_details_mail_order_percentage", $vo_json)) {
         $o_bc_details->setMailOrderPercentage($vo_json["bank_card_details_mail_order_percentage"]);
     }
     if (array_key_exists("bank_card_details_telephone_order_percentage", $vo_json)) {
         $o_bc_details->setTelephoneOrderPercentage($vo_json["bank_card_details_telephone_order_percentage"]);
     }
     if (array_key_exists("bank_card_details_duplicates", $vo_json)) {
         $o_bc_details->setDuplicates($vo_json["bank_card_details_duplicates"]);
     }
     if (array_key_exists("bank_card_details_debit_brands_requested", $vo_json)) {
         $o_debit_brands = $vo_json["bank_card_details_debit_brands_requested"];
         for ($n_index = 0, $n_size = count($o_debit_brands); $n_index < $n_size; $n_index++) {
             $o_bc_details->addDebitBrandsRequested($o_debit_brands[$n_index]);
         }
     }
     if (array_key_exists("bank_card_details_credit_signature_cards_requested", $vo_json)) {
         $o_credit_signature_cards_requested = $vo_json["bank_card_details_credit_signature_cards_requested"];
         for ($n_index = 0, $n_size = count($o_credit_signature_cards_requested); $n_index < $n_size; $n_index++) {
             $o_bc_details->addCreditSignatureCardsRequested($o_credit_signature_cards_requested[$n_index]);
         }
     }
     if (array_key_exists("bank_card_details_credit_requested", $vo_json)) {
         $o_credit = $vo_json["bank_card_details_credit_requested"];
         for ($n_index = 0, $n_size = count($o_credit); $n_index < $n_size; $n_index++) {
             $o_bc_details->addCreditRequested($o_credit[$n_index]);
         }
     }
     if (array_key_exists("bank_card_details_unpaid_item_fee", $vo_json)) {
         $o_bc_details->setUnpaidItemFee($vo_json["bank_card_details_unpaid_item_fee"]);
     }
     if (array_key_exists("bank_card_details_retrieval_fee", $vo_json)) {
         $o_bc_details->setRetrievalFee($vo_json["bank_card_details_retrieval_fee"]);
     }
     return $o_bc_details;
 }