/// <summary>
        ///		Mezcla la colección de canales
        /// </summary>
        public TrackModelCollection Merge(TrackModelCollection tracksNew)
        {
            TrackModelCollection tracksMerged = new TrackModelCollection();

            // Mezcla la colección
            foreach (TrackModel trackNew in tracksNew)
            {
                TrackModel trackFound = Search(trackNew.Id);

                // Si el canal no estaba, se añade y se indica que se ha modificado
                if (trackFound == null)
                {
                    // Añade el canal
                    Add(trackNew);
                    // Añade el canal a la lista de canales mezclados
                    tracksMerged.Add(trackNew);
                }
                else
                {
                    CategoryModelCollection categoriesMerged = trackFound.Categories.Merge(trackFound, trackNew.Categories);

                    // Si se ha mezclado alguna categoría, se añade la pista
                    if (categoriesMerged.Count > 0)
                    {
                        TrackModel trackMerged = trackFound.Clone();

                        // Quita las categorías que tuviera
                        trackMerged.Categories.Clear();
                        // Le añade las mezcladas
                        trackMerged.Categories.AddRange(categoriesMerged.Clone(trackMerged));
                        // y añade el canal a la colección de canales mezclados
                        tracksMerged.Add(trackMerged);
                    }
                }
            }
            // Devuelve el valor que indica si ha habido algo nuevo
            return(tracksMerged);
        }