protected override int CompareMediaItems(MediaItem mediaItem) { if (Type == mediaItem.Type) { Video video = mediaItem as Video; if (Genre == video.Genre) { if (Program == video.Program) { if (Series == video.Series) { if (Episode == video.Episode) { return(Name.CompareTo(video.Name)); } else { return(Episode.CompareTo(video.Episode)); } } else { return(Series.CompareTo(video.Series)); } } else { return(Program.CompareTo(video.Program)); } } else { return(Genre.CompareTo(video.Genre)); } } else { return(Type.CompareTo(mediaItem.Type)); } }