/// <summary>
        /// Saves the given attack/armor entry list member into the given buffer.
        /// The modification flag is written also.
        /// </summary>
        /// <param name="buffer">The buffer for the member to written to.</param>
        /// <param name="member">The member to be written.</param>
        protected static void SaveMember(IORAMHelper.RAMBuffer buffer, AttackArmorEntryListDiffElement member)
        {
            // Member must be defined
            if (member == null)
            {
                return;
            }

            // Write modification flag
            buffer.WriteByte((byte)(member.Modified ? 1 : 0));

            // Write member
            if (member.Modified)
            {
                // Write count
                buffer.WriteInteger(member.Value.Count);

                // Write members
                foreach (AttackArmorEntry aae in member.Value)
                {
                    // Write member fields
                    buffer.WriteUShort(aae.ArmorClass);
                    buffer.WriteUShort(aae.Amount);
                }
            }
        }
        /// <summary>
        /// Reads a attack/armor entry list member from the given buffer.
        /// The modification flag is read also.
        /// </summary>
        /// <param name="buffer">The buffer where the member shall be read from.</param>
        /// <param name="member">The member where the read data shall be stored.</param>
        protected static void ReadMember(IORAMHelper.RAMBuffer buffer, AttackArmorEntryListDiffElement member)
        {
            // Member must be defined
            if (member == null)
            {
                return;
            }

            // Read member if modified
            if (buffer.ReadByte() == 1)
            {
                // Read entries
                int count = buffer.ReadInteger();
                List <AttackArmorEntry> entries = new List <AttackArmorEntry>(count);
                for (int i = 0; i < count; ++i)
                {
                    entries.Add(new AttackArmorEntry
                                (
                                    buffer.ReadUShort(),
                                    buffer.ReadUShort()
                                ));
                }
                member.Value = new EquatableObservableCollection <AttackArmorEntry>(entries);
            }
        }