protected override void OnReadXml(XmlReader aXmlReader, SepaMessageInfo aMessageInfo)
 {
     if (base.MessageType != aMessageInfo.MessageType)
     {
         throw new ArgumentException();
     }
     aXmlReader.ReadStartElement("GrpHdr");
     base.ReadGroupHeaderFields(aXmlReader, aMessageInfo);
     if (aXmlReader.IsStartElement("DbtrAgt"))
     {
         this.m_tAgtBIC = SepaUtil.ReadAgtBIC(aXmlReader, "DbtrAgt");
         this.m_nOriginalMessageType = SepaMessageType.CreditTransferPaymentInitiation;
     }
     else
     {
         this.m_tAgtBIC = SepaUtil.ReadAgtBIC(aXmlReader, "CdtrAgt");
         this.m_nOriginalMessageType = SepaMessageType.DirectDebitPaymentInitiation;
     }
     aXmlReader.ReadEndElement();
     aXmlReader.ReadStartElement("OrgnlGrpInfAndSts");
     this.m_sOrgnlMsgId = aXmlReader.ReadElementString("OrgnlMsgId");
     if (aXmlReader.ReadElementString("OrgnlMsgNmId") != this.OriginalMessageNameIdentification)
     {
         throw new XmlException("Inconsistent OrgnlMsgNmId");
     }
     while (aXmlReader.NodeType != XmlNodeType.EndElement)
     {
         aXmlReader.Skip();
     }
     aXmlReader.ReadEndElement();
     while (aXmlReader.IsStartElement("OrgnlPmtInfAndSts"))
     {
         SepaOriginalPaymentInformation item = new SepaOriginalPaymentInformation();
         item.ReadXml(aXmlReader, aMessageInfo);
         this.m_vOrgnlPmtInfs.Add(item);
     }
 }
 internal SepaOriginalTransactionInformations(SepaOriginalPaymentInformation aOrgnlPmtInf) : base(aOrgnlPmtInf)
 {
 }