public override bool ValueEquals(WithPresentation other)
        {
            if (!base.ValueEquals(other))
            {
                return(false);
            }

            SequenceMedia otherz = other as SequenceMedia;

            if (otherz == null)
            {
                return(false);
            }
            if (AllowMultipleTypes != otherz.AllowMultipleTypes)
            {
                //System.Diagnostics.Debug.Fail("! ValueEquals !");
                return(false);
            }
            if (otherz.mSequence.Count != mSequence.Count)
            {
                return(false);
            }
            for (int i = 0; i < mSequence.Count; i++)
            {
                if (!mSequence.Get(i).ValueEquals(otherz.mSequence.Get(i)))
                {
                    //System.Diagnostics.Debug.Fail("! ValueEquals !");
                    return(false);
                }
            }

            return(true);
        }
        /// <summary>
        /// Exports the sequence media to a destination <see cref="Presentation"/>
        /// </summary>
        /// <param name="destPres">The destination presentation</param>
        /// <returns>The exported sequence media</returns>
        protected override Media ExportProtected(Presentation destPres)
        {
            SequenceMedia newSeqMedia = (SequenceMedia)base.ExportProtected(destPres);

            foreach (Media item in mSequence.ContentsAs_Enumerable)
            {
                //newSeqMedia.mSequence.Add(item.Export(destPres));
                newSeqMedia.InsertItem(mSequence.Count, item.Export(destPres));
            }
            return(newSeqMedia);
        }
        /// <summary>
        /// Make a copy of this media sequence
        /// </summary>
        /// <returns>The copy</returns>
        protected override Media CopyProtected()
        {
            SequenceMedia newSeqMedia = (SequenceMedia)base.CopyProtected();

            foreach (Media item in mSequence.ContentsAs_Enumerable)
            {
                //newSeqMedia.mSequence.Add(item.Copy());
                newSeqMedia.InsertItem(mSequence.Count, item.Copy());
            }
            return(newSeqMedia);
        }