/// <inheritdoc/>
        public override MediaFile Clone()
        {
            SubTitleFile subTitleFileClone = new SubTitleFile(this.Configuration);
            subTitleFileClone.Description = this.Description;
            subTitleFileClone.URL = this.URL;
            subTitleFileClone.URLLocalFilesystem = this.URLLocalFilesystem;
            subTitleFileClone.Filename = this.Filename;
            subTitleFileClone.Extension = this.Extension;
            subTitleFileClone.Server = this.Server;
            subTitleFileClone.Media = this.Media;
            subTitleFileClone.SubTitle = this.SubTitle;
            subTitleFileClone.FileIndex = this.FileIndex;

            return (SubTitleFile)subTitleFileClone;
        }
 /// <summary>
 /// consolidates multiple SubTitleFiles into one, as one MediaFile can only have one SubTitleFile (multiple one will be overwritten due to the same filename)
 /// <remarks>creates new List with just one SubTitleFile and sets this</remarks>
 /// </summary>
 /// <param name="subTitleFile">subTitleFile that should be extended</param>
 /// <returns>new subTitleFile extended by this object</returns>
 public virtual SubTitleFile CreateFinalSubTitleFile(SubTitleFile subTitleFile)
 {
     // leave object unchanged for generic SubTitle
     return subTitleFile;
 }
        /// <inheritdoc/>
        public override SubTitleFile CreateFinalSubTitleFile(SubTitleFile subTitleFile)
        {
            SrtSubTitleFile srtTitleFile = (SrtSubTitleFile)subTitleFile;
            srtTitleFile.SubTitleEntries.AddRange(this.SubTitleEntries);

            return srtTitleFile;
        }