/**
  * @param array $data
  * @return $this
  */
 public function importData(array $data = [])
 {
     if (!isset($data[self::BILLING_ADDRESS]) || !$data[self::BILLING_ADDRESS] instanceof AddressInterface) {
         $billingAddressData = isset($data[self::BILLING_ADDRESS]) && is_array($data[self::BILLING_ADDRESS]) ? $data[self::BILLING_ADDRESS] : [];
         $data[self::BILLING_ADDRESS] = $this->getBillingAddress()->importData($billingAddressData);
     }
     return parent::importData($data);
 }
 /**
  * @param array $data
  * @return $this
  */
 public function importData(array $data = [])
 {
     if (!isset($data[self::SHIPPING_ADDRESS]) || !$data[self::SHIPPING_ADDRESS] instanceof AddressInterface) {
         $shippingAddressData = isset($data[self::SHIPPING_ADDRESS]) && is_array($data[self::SHIPPING_ADDRESS]) ? $data[self::SHIPPING_ADDRESS] : [];
         $data[self::SHIPPING_ADDRESS] = $this->getShippingAddress()->importData($shippingAddressData);
     }
     if (empty($data[self::SHIPPING_ADDRESS_ID])) {
         $data[self::SHIPPING_ADDRESS_ID] = $data[self::SHIPPING_ADDRESS]->getId();
     }
     if (!isset($data[self::PAYMENT_PROFILE]) || !$data[self::PAYMENT_PROFILE] instanceof PaymentProfileInterface) {
         $paymentProfileData = isset($data[self::PAYMENT_PROFILE]) && is_array($data[self::PAYMENT_PROFILE]) ? $data[self::PAYMENT_PROFILE] : [];
         $data[self::PAYMENT_PROFILE] = $this->getPaymentProfile()->importData($paymentProfileData);
     }
     if (empty($data[self::PAYMENT_PROFILE_ID])) {
         $data[self::PAYMENT_PROFILE_ID] = $data[self::PAYMENT_PROFILE]->getId();
     }
     return parent::importData($data);
 }