/// <summary>
        /// Unmarks one or more episodes.
        /// </summary>
        /// <param name="showid">The ID of the TV show in the database.</param>
        /// <param name="episodes">The list of episode ranges. A range consists of two numbers from the same season.</param>
        public override void UnmarkEpisodes(string showid, IEnumerable <int[]> episodes)
        {
            var change = InitChange(showid, ShowInfoChange.ChangeType.UnmarkEpisode, episodes);

            if (DelayedChanges.Any(x => x.Change == ShowInfoChange.ChangeType.UnmarkEpisode && x.Show == change.Show))
            {
                var prevmark = DelayedChanges.First(x => x.Change == ShowInfoChange.ChangeType.UnmarkEpisode && x.Show == change.Show);

                if (prevmark.Data is List <int[]> && change.Data is List <int[]> )
                {
                    (prevmark.Data as List <int[]>).AddRange(change.Data as List <int[]>);
                }
                else
                {
                    DelayedChanges.Add(change);
                }
            }
            else
            {
                DelayedChanges.Add(change);
            }

            DelayedChangesTimer.Start();
            SaveDelayedChanges();
        }