/// <summary>
        /// Creates a WzSoundProperty with the specified name and data from another WzSoundProperty Object
        /// </summary>
        /// <param name="name"></param>
        /// <param name="wavFormat"></param>
        /// <param name="len_ms"></param>
        /// <param name="soundDataLen"></param>
        /// <param name="headerClone"></param>
        /// <param name="data"></param>
        /// <param name="headerEncrypted"></param>
        public WzBinaryProperty(WzBinaryProperty otherProperty)
        {
            this.name         = otherProperty.name;
            this.wavFormat    = otherProperty.wavFormat;
            this.len_ms       = otherProperty.len_ms;
            this.soundDataLen = otherProperty.soundDataLen;
            this.offs         = otherProperty.offs;

            if (otherProperty.header == null) // not initialized yet
            {
                otherProperty.ParseWzSoundPropertyHeader();
            }
            this.header = new byte[otherProperty.header.Length];
            Array.Copy(otherProperty.header, this.header, otherProperty.header.Length);

            if (otherProperty.mp3bytes == null)
            {
                this.mp3bytes = otherProperty.GetBytes(false);
            }
            else
            {
                this.mp3bytes = new byte[otherProperty.mp3bytes.Length];
                Array.Copy(otherProperty.mp3bytes, mp3bytes, otherProperty.mp3bytes.Length);
            }
            this.headerEncrypted = otherProperty.headerEncrypted;
        }
        public override WzImageProperty DeepClone()
        {
            WzBinaryProperty clone = new WzBinaryProperty(this);

            return(clone);
        }