/**
  * Crawl Transactions
  *
  * @param TransferInformationInterface $transactionInformation
  * @return mixed
  */
 public function visitTransferInformation(TransferInformationInterface $transactionInformation)
 {
     /** @var $transactionInformation  CustomerCreditTransferInformation */
     $CdtTrfTxInf = $this->createElement('CdtTrfTxInf');
     // Payment ID 2.28
     $PmtId = $this->createElement('PmtId');
     if ($transactionInformation->getInstructionId()) {
         $PmtId->appendChild($this->createElement('InstrId', $transactionInformation->getInstructionId()));
     }
     $PmtId->appendChild($this->createElement('EndToEndId', $transactionInformation->getEndToEndIdentification()));
     $CdtTrfTxInf->appendChild($PmtId);
     // Amount 2.42
     $amount = $this->createElement('Amt');
     $instructedAmount = $this->createElement('InstdAmt', $this->intToCurrency($transactionInformation->getTransferAmount()));
     $instructedAmount->setAttribute('Ccy', $transactionInformation->getCurrency());
     $amount->appendChild($instructedAmount);
     $CdtTrfTxInf->appendChild($amount);
     $CdtTrfTxInf->appendChild($this->createElement('ChrgBr', $transactionInformation->getChargeBearer()));
     //Creditor Agent 2.77
     if ($transactionInformation->getBic()) {
         $creditorAgent = $this->createElement('CdtrAgt');
         $financialInstitution = $this->createElement('FinInstnId');
         $financialInstitution->appendChild($this->createElement('BIC', $transactionInformation->getBic()));
         $creditorAgent->appendChild($financialInstitution);
         $CdtTrfTxInf->appendChild($creditorAgent);
     }
     // Creditor 2.79
     $creditor = $this->createElement('Cdtr');
     $creditor->appendChild($this->createElement('Nm', $transactionInformation->getCreditorName()));
     $CdtTrfTxInf->appendChild($creditor);
     // CreditorAccount 2.80
     $creditorAccount = $this->createElement('CdtrAcct');
     $id = $this->createElement('Id');
     $id->appendChild($this->createElement('IBAN', $transactionInformation->getIban()));
     $creditorAccount->appendChild($id);
     $CdtTrfTxInf->appendChild($creditorAccount);
     // remittance 2.98 2.99
     $remittanceInformation = $this->getRemittenceElement($transactionInformation->getRemittanceInformation());
     $CdtTrfTxInf->appendChild($remittanceInformation);
     $this->currentPayment->appendChild($CdtTrfTxInf);
 }