/**
  * @param object $object
  * @return $this
  * @throws UnexpectedValueException
  */
 public function fromObject($object)
 {
     parent::fromObject($object);
     if (property_exists($object, 'bankAccountIban')) {
         if (!is_object($object->bankAccountIban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountIban, true) . '\' is not an object');
         }
         $value = new BankAccountIban();
         $this->bankAccountIban = $value->fromObject($object->bankAccountIban);
     }
     if (property_exists($object, 'paymentProduct836SpecificOutput')) {
         if (!is_object($object->paymentProduct836SpecificOutput)) {
             throw new UnexpectedValueException('value \'' . print_r($object->paymentProduct836SpecificOutput, true) . '\' is not an object');
         }
         $value = new PaymentProduct836SpecificOutput();
         $this->paymentProduct836SpecificOutput = $value->fromObject($object->paymentProduct836SpecificOutput);
     }
     if (property_exists($object, 'paymentProduct840SpecificOutput')) {
         if (!is_object($object->paymentProduct840SpecificOutput)) {
             throw new UnexpectedValueException('value \'' . print_r($object->paymentProduct840SpecificOutput, true) . '\' is not an object');
         }
         $value = new PaymentProduct840SpecificOutput();
         $this->paymentProduct840SpecificOutput = $value->fromObject($object->paymentProduct840SpecificOutput);
     }
     return $this;
 }
 /**
  * @param object $object
  * @return $this
  * @throws UnexpectedValueException
  */
 public function fromObject($object)
 {
     parent::fromObject($object);
     if (property_exists($object, 'bankAccountBban')) {
         if (!is_object($object->bankAccountBban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountBban, true) . '\' is not an object');
         }
         $value = new BankAccountBban();
         $this->bankAccountBban = $value->fromObject($object->bankAccountBban);
     }
     if (property_exists($object, 'bankAccountIban')) {
         if (!is_object($object->bankAccountIban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountIban, true) . '\' is not an object');
         }
         $value = new BankAccountIban();
         $this->bankAccountIban = $value->fromObject($object->bankAccountIban);
     }
     if (property_exists($object, 'bankData')) {
         if (!is_object($object->bankData)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankData, true) . '\' is not an object');
         }
         $value = new BankData();
         $this->bankData = $value->fromObject($object->bankData);
     }
     if (property_exists($object, 'swift')) {
         if (!is_object($object->swift)) {
             throw new UnexpectedValueException('value \'' . print_r($object->swift, true) . '\' is not an object');
         }
         $value = new Swift();
         $this->swift = $value->fromObject($object->swift);
     }
     return $this;
 }
 /**
  * @param object $object
  * @return $this
  * @throws UnexpectedValueException
  */
 public function fromObject($object)
 {
     parent::fromObject($object);
     if (property_exists($object, 'bankAccountIban')) {
         if (!is_object($object->bankAccountIban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountIban, true) . '\' is not an object');
         }
         $value = new BankAccountIban();
         $this->bankAccountIban = $value->fromObject($object->bankAccountIban);
     }
     if (property_exists($object, 'customerContractIdentifier')) {
         $this->customerContractIdentifier = $object->customerContractIdentifier;
     }
     if (property_exists($object, 'debtor')) {
         if (!is_object($object->debtor)) {
             throw new UnexpectedValueException('value \'' . print_r($object->debtor, true) . '\' is not an object');
         }
         $value = new Debtor();
         $this->debtor = $value->fromObject($object->debtor);
     }
     if (property_exists($object, 'isRecurring')) {
         $this->isRecurring = $object->isRecurring;
     }
     if (property_exists($object, 'mandateApproval')) {
         if (!is_object($object->mandateApproval)) {
             throw new UnexpectedValueException('value \'' . print_r($object->mandateApproval, true) . '\' is not an object');
         }
         $value = new MandateApproval();
         $this->mandateApproval = $value->fromObject($object->mandateApproval);
     }
     if (property_exists($object, 'preNotification')) {
         $this->preNotification = $object->preNotification;
     }
     return $this;
 }
 /**
  * @param object $object
  * @return $this
  * @throws UnexpectedValueException
  */
 public function fromObject($object)
 {
     parent::fromObject($object);
     if (property_exists($object, 'amountOfMoney')) {
         if (!is_object($object->amountOfMoney)) {
             throw new UnexpectedValueException('value \'' . print_r($object->amountOfMoney, true) . '\' is not an object');
         }
         $value = new AmountOfMoney();
         $this->amountOfMoney = $value->fromObject($object->amountOfMoney);
     }
     if (property_exists($object, 'bankAccountBban')) {
         if (!is_object($object->bankAccountBban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountBban, true) . '\' is not an object');
         }
         $value = new BankAccountBban();
         $this->bankAccountBban = $value->fromObject($object->bankAccountBban);
     }
     if (property_exists($object, 'bankAccountIban')) {
         if (!is_object($object->bankAccountIban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountIban, true) . '\' is not an object');
         }
         $value = new BankAccountIban();
         $this->bankAccountIban = $value->fromObject($object->bankAccountIban);
     }
     if (property_exists($object, 'customer')) {
         if (!is_object($object->customer)) {
             throw new UnexpectedValueException('value \'' . print_r($object->customer, true) . '\' is not an object');
         }
         $value = new PayoutCustomer();
         $this->customer = $value->fromObject($object->customer);
     }
     if (property_exists($object, 'payoutDate')) {
         $this->payoutDate = $object->payoutDate;
     }
     if (property_exists($object, 'payoutText')) {
         $this->payoutText = $object->payoutText;
     }
     if (property_exists($object, 'references')) {
         if (!is_object($object->references)) {
             throw new UnexpectedValueException('value \'' . print_r($object->references, true) . '\' is not an object');
         }
         $value = new PayoutReferences();
         $this->references = $value->fromObject($object->references);
     }
     if (property_exists($object, 'swiftCode')) {
         $this->swiftCode = $object->swiftCode;
     }
     return $this;
 }
 /**
  * @param object $object
  * @return $this
  * @throws UnexpectedValueException
  */
 public function fromObject($object)
 {
     parent::fromObject($object);
     if (property_exists($object, 'bankAccountBban')) {
         if (!is_object($object->bankAccountBban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountBban, true) . '\' is not an object');
         }
         $value = new BankAccountBbanRefund();
         $this->bankAccountBban = $value->fromObject($object->bankAccountBban);
     }
     if (property_exists($object, 'bankAccountIban')) {
         if (!is_object($object->bankAccountIban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountIban, true) . '\' is not an object');
         }
         $value = new BankAccountIban();
         $this->bankAccountIban = $value->fromObject($object->bankAccountIban);
     }
     if (property_exists($object, 'countryCode')) {
         $this->countryCode = $object->countryCode;
     }
     return $this;
 }
 /**
  * @param object $object
  * @return $this
  * @throws UnexpectedValueException
  */
 public function fromObject($object)
 {
     parent::fromObject($object);
     if (property_exists($object, 'addressLine1')) {
         $this->addressLine1 = $object->addressLine1;
     }
     if (property_exists($object, 'addressLine2')) {
         $this->addressLine2 = $object->addressLine2;
     }
     if (property_exists($object, 'addressLine3')) {
         $this->addressLine3 = $object->addressLine3;
     }
     if (property_exists($object, 'addressLine4')) {
         $this->addressLine4 = $object->addressLine4;
     }
     if (property_exists($object, 'bankAccountIban')) {
         if (!is_object($object->bankAccountIban)) {
             throw new UnexpectedValueException('value \'' . print_r($object->bankAccountIban, true) . '\' is not an object');
         }
         $value = new BankAccountIban();
         $this->bankAccountIban = $value->fromObject($object->bankAccountIban);
     }
     if (property_exists($object, 'customerBankCity')) {
         $this->customerBankCity = $object->customerBankCity;
     }
     if (property_exists($object, 'customerBankNumber')) {
         $this->customerBankNumber = $object->customerBankNumber;
     }
     if (property_exists($object, 'customerBankStreet')) {
         $this->customerBankStreet = $object->customerBankStreet;
     }
     if (property_exists($object, 'customerBankZip')) {
         $this->customerBankZip = $object->customerBankZip;
     }
     return $this;
 }