/**
  * Encodes wallet identifier object to array
  *
  * @param Paysera_WalletApi_Entity_WalletIdentifier $walletIdentifier
  *
  * @return array
  *
  * @throws InvalidArgumentException
  */
 public function encodeWalletIdentifier(Paysera_WalletApi_Entity_WalletIdentifier $walletIdentifier)
 {
     if ($walletIdentifier->getId() !== null) {
         return array('id' => $walletIdentifier->getId());
     } elseif ($walletIdentifier->getEmail() !== null) {
         return array('email' => $walletIdentifier->getEmail());
     } elseif ($walletIdentifier->getPhone() !== null) {
         return array('phone' => $walletIdentifier->getPhone());
     } elseif ($walletIdentifier->getBarcode() !== null) {
         return array('barcode' => $walletIdentifier->getBarcode());
     } else {
         throw new InvalidArgumentException('Wallet identifier has no identifier set');
     }
 }