/// <summary cref="IEncodeable.IsEqual(IEncodeable)" />
        public override bool IsEqual(IEncodeable encodeable)
        {
            if (Object.ReferenceEquals(this, encodeable))
            {
                return(true);
            }

            DerivedStructure value = encodeable as DerivedStructure;

            if (value == null)
            {
                return(false);
            }

            if (!base.IsEqual(encodeable))
            {
                return(false);
            }
            if (!Utils.IsEqual(m_number, value.m_number))
            {
                return(false);
            }

            return(true);
        }
        /// <summary cref="ICloneable.Clone" />
        public override object Clone()
        {
            DerivedStructure clone = (DerivedStructure)base.Clone();

            clone.m_number = (int)Utils.Clone(this.m_number);

            return(clone);
        }