The MetaPropValue represents identification information and the value of the Metaproperty.
Inheritance: SyntacticalBase
 /// <summary>
 /// Parse fields from a FastTransferStream.
 /// </summary>
 /// <param name="stream">A FastTransferStream.</param>
 public override void Parse(FastTransferStream stream)
 {
     if (stream.VerifyMetaProperty(MetaProperties.MetaTagIncrementalSyncMessagePartial))
     {
         this.Meta_SyncMessagePartial = new MetaPropValue(stream);
     }
     this.PropList = new PropList(stream);
 }
 /// <summary>
 /// Parse fields from a FastTransferStream.
 /// </summary>
 /// <param name="stream">A FastTransferStream.</param>
 public override void Parse(FastTransferStream stream)
 {
     this.MetaTagFXDelProp = new MetaPropValue(stream);
     this.MessageLists = new MessageList(stream);
 }
        /// <summary>
        /// Parse MetaTagEcWaringMessage from a FastTransferStream.
        /// </summary>
        /// <param name="stream">A FastTransferStream.</param>
        public override void Parse(FastTransferStream stream)
        {
            if (stream.VerifyMetaProperty(MetaProperties.MetaTagEcWarning))
            {
                this.MetaTagEcWaring = new MetaPropValue(stream);
            }

            if (Message.Verify(stream))
            {
                this.Message = new Message(stream);
            }
        }
        /// <summary>
        /// Parse fields from a FastTransferStream.
        /// </summary>
        /// <param name="stream">A FastTransferStream.</param>
        public override void Parse(FastTransferStream stream)
        {
            List<Attachment> InterAttachments = new List<Attachment>();
            List<Recipient> InterRecipients = new List<Recipient>();
            if (stream.VerifyMetaProperty(MetaProperties.MetaTagFXDelProp))
            {
                this.FxdelPropsBeforeRecipient = new MetaPropValue(stream);
            }

            if (Recipient.Verify(stream))
            {
                InterRecipients = new List<Recipient>();
                while (Recipient.Verify(stream))
                {
                    InterRecipients.Add(new Recipient(stream));
                }
            }

            if (stream.VerifyMetaProperty(MetaProperties.MetaTagFXDelProp))
            {
                this.FxdelPropsBeforeAttachment = new MetaPropValue(stream);
            }

            while (Attachment.Verify(stream))
            {
                InterAttachments.Add(new Attachment(stream));
            }

            this.Attachments = InterAttachments.ToArray();
            this.Recipients = InterRecipients.ToArray();
        }
        /// <summary>
        /// Parse fields from a FastTransferStream.
        /// </summary>
        /// <param name="stream">A FastTransferStream.</param>
        public override void Parse(FastTransferStream stream)
        {
            List<SyncMessagePartialPropList> InterMessagePartialList = new List<SyncMessagePartialPropList>();
            this.groupInfo = new GroupInfo(stream);
            if (stream.VerifyMetaProperty(MetaProperties.MetaTagIncrSyncGroupId))
            {
                this.MetaTagIncrSyncGroupId = new MetaPropValue(stream);
            }

            if (stream.ReadMarker() == Markers.IncrSyncChgPartial)
            {
                this.Marker = Markers.IncrSyncChgPartial;
                this.messageChangeHeader = new PropList(stream);

                while (stream.VerifyMetaProperty(MetaProperties.MetaTagIncrementalSyncMessagePartial))
                {
                    InterMessagePartialList.Add(new SyncMessagePartialPropList(stream));
                }
                this.SyncMessagePartialPropList = InterMessagePartialList.ToArray();
                this.MessageChildren = new MessageChildren(stream);
            }
            else
            {
                throw new Exception("The MessageChangePartial cannot be parsed successfully. The IncrSyncChgPartial Marker is missed.");
            }
        }
        /// <summary>
        ///  Parse fields from a FastTransferStream.
        /// </summary>
        /// <param name="stream">A FastTransferStream.</param>
        public override void Parse(FastTransferStream stream)
        {
            this.PropList = new PropList(stream);
            if (!stream.IsEndOfStream)
            {
                List<SubFolderNoDelProps> InterSubFolders = new List<SubFolderNoDelProps>();
                if (stream.VerifyMetaProperty(MetaProperties.MetaTagNewFXFolder))
                {
                    this.MetaTagNewFXFolder = new MetaPropValue(stream);
                }
                else
                {
                    this.FolderMessagesNoDelProps = new FolderMessagesNoDelProps(stream);
                }

                if (!stream.IsEndOfStream)
                {
                    while (SubFolderNoDelProps.Verify(stream))
                    {
                        InterSubFolders.Add(new SubFolderNoDelProps(stream));
                    }
                    this.SubFolderNoDelPropList = InterSubFolders.ToArray();
                }
            }
        }