/// <summary>
 /// Parse the SeekEntriesRequest structure.
 /// </summary>
 /// <param name="s">An stream containing SeekEntriesRequest structure.</param>
 public override void Parse(Stream s)
 {
     base.Parse(s);
     this.Reserved = ReadUint();
     this.HasState = ReadBoolean();
     if (this.HasState)
     {
         this.State = new STAT();
         this.State.Parse(s);
     }
     this.HasTarget = ReadBoolean();
     if (this.HasTarget)
     {
         this.Target = new AddressBookTaggedPropertyValue();
         this.Target.Parse(s);
     }
     this.HasExplicitTable = ReadBoolean();
     if (this.HasExplicitTable)
     {
         this.ExplicitTableCount = ReadUint();
         List<MinimalEntryID> miniEIDList = new List<MinimalEntryID>();
         for (int i = 0; i < this.ExplicitTableCount; i++)
         {
             MinimalEntryID miniEID = new MinimalEntryID();
             miniEID.Parse(s);
             miniEIDList.Add(miniEID);
         }
         this.ExplicitTable = miniEIDList.ToArray();
     }
     this.HasColumns = ReadBoolean();
     if (this.HasColumns)
     {
         this.Columns = new LargePropertyTagArray();
         this.Columns.Parse(s);
     }
     this.AuxiliaryBufferSize = ReadUint();
     if (this.AuxiliaryBufferSize > 0)
     {
         this.AuxiliaryBuffer = new ExtendedBuffer();
         this.AuxiliaryBuffer.Parse(s);
     }
 }
 /// <summary>
 /// Parse the AddressBookPropertyValueList structure.
 /// </summary>
 /// <param name="s">An stream containing AddressBookPropertyValueList structure.</param>
 public override void Parse(Stream s)
 {
     base.Parse(s);
     this.PropertyValueCount = ReadUint();
     List<AddressBookTaggedPropertyValue> tempABTP = new List<AddressBookTaggedPropertyValue>();
     for (int i = 0; i < PropertyValueCount; i++)
     {
         AddressBookTaggedPropertyValue abtp = new AddressBookTaggedPropertyValue();
         abtp.Parse(s);
         tempABTP.Add(abtp);
     }
     this.PropertyValues = tempABTP.ToArray();
 }