/**
  * This method is necessary because a customer address does not have a getData() method to retrieve all the address
  * fields.
  *
  * @param CustomerAddressInterface $customerAddress
  * @return array
  */
 protected function getCustomerAddressData(CustomerAddressInterface $customerAddress)
 {
     $customerAddressData = [CustomerAddressInterface::COUNTRY_ID => $customerAddress->getCountryId(), CustomerAddressInterface::STREET => $customerAddress->getStreet(), CustomerAddressInterface::POSTCODE => $customerAddress->getPostcode(), CustomerAddressInterface::CITY => $customerAddress->getCity(), CustomerAddressInterface::COMPANY => $customerAddress->getCompany(), CustomerAddressInterface::CUSTOM_ATTRIBUTES => $customerAddress->getCustomAttributes(), CustomerAddressInterface::CUSTOMER_ID => $customerAddress->getCustomerId(), CustomerAddressInterface::EXTENSION_ATTRIBUTES_KEY => $customerAddress->getExtensionAttributes(), CustomerAddressInterface::FAX => $customerAddress->getFax(), CustomerAddressInterface::FIRSTNAME => $customerAddress->getFirstname(), CustomerAddressInterface::ID => $customerAddress->getId(), CustomerAddressInterface::LASTNAME => $customerAddress->getLastname(), CustomerAddressInterface::MIDDLENAME => $customerAddress->getMiddlename(), CustomerAddressInterface::PREFIX => $customerAddress->getPrefix(), CustomerAddressInterface::REGION => $customerAddress->getRegion(), CustomerAddressInterface::REGION_ID => $customerAddress->getRegionId(), CustomerAddressInterface::STREET => $customerAddress->getStreet(), CustomerAddressInterface::SUFFIX => $customerAddress->getSuffix(), CustomerAddressInterface::TELEPHONE => $customerAddress->getTelephone(), CustomerAddressInterface::VAT_ID => $customerAddress->getVatId(), CustomerAddressInterface::DEFAULT_BILLING => $customerAddress->isDefaultBilling(), CustomerAddressInterface::DEFAULT_SHIPPING => $customerAddress->isDefaultShipping()];
     return $customerAddressData;
 }