protected override object GetContentViewModel(string section)
        {
            if (string.Equals(section, "overview"))
            {
                return _itemViewModel;
            }
            if (string.Equals(section, "reviews"))
            {
                return new CriticReviewListViewModel(_presentationManager, _apiClient, _imageManager, _itemViewModel.Item.Id);
            }
            if (string.Equals(section, "scenes"))
            {
                return new ChapterInfoListViewModel(_apiClient, _imageManager, _playback, _presentationManager)
                {
                    Item = _itemViewModel.Item,
                    ImageWidth = 410
                };
            }
            if (string.Equals(section, "cast"))
            {
                return new ItemPersonListViewModel(_apiClient, _imageManager, _presentationManager, _navigation)
                {
                    Item = _itemViewModel.Item,
                    ImageWidth = 240,
                    ViewType = Context
                };
            }
            if (string.Equals(section, "gallery"))
            {
                const int imageHeight = 230;

                var vm = new GalleryViewModel(_apiClient, _imageManager, _navigation)
                {
                    ImageHeight = imageHeight,
                    Item = _itemViewModel.Item
                };

                var imageUrls = GalleryViewModel.GetImages(_itemViewModel.Item, _apiClient, null, imageHeight, true);

                vm.AddImages(imageUrls);

                return vm;
            }
            if (string.Equals(section, "similar"))
            {
                return new ItemListViewModel(GetSimilarItemsAsync, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = GetSimilarItemsImageDisplayWidth(),
                    EnableBackdropsForCurrentItem = false,
                    Context = Context
                };
            }
            if (string.Equals(section, "special features"))
            {
                return new ItemListViewModel(GetSpecialFeatures, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = 505,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "SpecialFeatures",
                    Context = Context,
                    DisplayNameGenerator = FolderPage.GetDisplayName,

                    OnItemCreated = vm =>
                    {
                        vm.DisplayNameVisibility = Visibility.Visible;
                    }
                };
            }
            if (string.Equals(section, "episodes"))
            {
                return new ItemListViewModel(GetSeriesEpisodes, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = 505,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "SpecialFeatures",
                    Context = Context,
                    DisplayNameGenerator = FolderPage.GetDisplayNameWithAiredSpecial,

                    OnItemCreated = vm =>
                    {
                        vm.DisplayNameVisibility = Visibility.Visible;
                    }
                };
            }
            if (string.Equals(section, "themes"))
            {
                return new ItemListViewModel(GetConvertedThemeMediaResult, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = 600,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "Themes",
                    Context = Context,
                    DisplayNameGenerator = FolderPage.GetDisplayName,

                    OnItemCreated = vm =>
                    {
                        vm.DisplayNameVisibility = Visibility.Visible;
                    }
                };
            }
            if (string.Equals(section, "soundtrack") || string.Equals(section, "soundtracks"))
            {
                return new ItemListViewModel(GetSoundtracks, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = 400,
                    EnableBackdropsForCurrentItem = false,
                    Context = ViewType.Music,
                    DisplayNameGenerator = FolderPage.GetDisplayName,
                };
            }
            if (string.Equals(section, "seasons"))
            {
                return new ItemListViewModel(GetSeasons, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = 300,
                    EnableBackdropsForCurrentItem = false,
                    Context = Context
                };
            }
            if (string.Equals(section, "songs"))
            {
                return new ItemListViewModel(GetAlbumSongs, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = 40,
                    EnableBackdropsForCurrentItem = false,
                    Context = ViewType.Music,
                    DisplayNameGenerator = FolderPage.GetDisplayName
                };
            }
            if (string.Equals(section, "trailers"))
            {
                return new ItemListViewModel(GetTrailers, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger)
                {
                    ImageDisplayWidth = 600,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "Trailers",
                    Context = Context,

                    OnItemCreated = vm =>
                    {
                        vm.DisplayNameVisibility = Visibility.Visible;
                    }
                };
            }

            if (string.Equals(section, "itemmovies"))
            {
                return GetItemByNameItemListViewModel("Movie", MoviesViewModel.PosterStripWidth, MoviesViewModel.PosterStripWidth * 1.5, ViewType.Movies);
            }
            if (string.Equals(section, "itemtrailers"))
            {
                return GetItemByNameItemListViewModel("Trailer", MoviesViewModel.PosterStripWidth, MoviesViewModel.PosterStripWidth * 1.5, ViewType.Movies);
            }
            if (string.Equals(section, "itemseries"))
            {
                return GetItemByNameItemListViewModel("Series", TvViewModel.PosterStripWidth, TvViewModel.PosterStripWidth * 1.5, ViewType.Tv);
            }
            if (string.Equals(section, "itemalbums"))
            {
                return GetItemByNameItemListViewModel("MusicAlbum", 280, 280, ViewType.Music);
            }
            if (string.Equals(section, "itemepisodes"))
            {
                return GetItemByNameItemListViewModel("Episode", 480, 270, ViewType.Tv);
            }

            return _itemViewModel;
        }
        protected override object GetContentViewModel(string section)
        {
            if (string.Equals(section, "overview"))
            {
                return _itemViewModel;
            }
            if (string.Equals(section, "reviews"))
            {
                return new CriticReviewListViewModel(_presentationManager, _apiClient, _imageManager, _itemViewModel.Item.Id);
            }
            if (string.Equals(section, "scenes"))
            {
                return new ChapterInfoListViewModel(_apiClient, _imageManager, _playback, _presentationManager)
                {
                    Item = _itemViewModel.Item,
                    ImageWidth = 410
                };
            }
            if (string.Equals(section, "cast"))
            {
                return new ItemPersonListViewModel(_apiClient, _imageManager, _presentationManager, _navigation)
                {
                    Item = _itemViewModel.Item,
                    ImageWidth = 240,
                    ViewType = Context
                };
            }
            if (string.Equals(section, "gallery"))
            {
                const int imageHeight = 230;

                var vm = new GalleryViewModel(_apiClient, _imageManager, _navigation)
                {
                    ImageHeight = imageHeight,
                    Item = _itemViewModel.Item
                };

                var imageUrls = GalleryViewModel.GetImages(_itemViewModel.Item, _apiClient, null, imageHeight, true);

                vm.AddImages(imageUrls);

                return vm;
            }
            if (string.Equals(section, "similar"))
            {
                return new ItemListViewModel(GetSimilarItemsAsync, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 300,
                    EnableBackdropsForCurrentItem = false,
                    Context = Context
                };
            }
            if (string.Equals(section, "special features"))
            {
                return new ItemListViewModel(GetSpecialFeatures, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 600,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "SpecialFeatures",
                    Context = Context,
                    DisplayNameGenerator = FolderPage.GetDisplayName
                };
            }
            if (string.Equals(section, "episodes"))
            {
                return new ItemListViewModel(GetSeriesEpisodes, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 600,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "SpecialFeatures",
                    Context = Context,
                    DisplayNameGenerator = FolderPage.GetDisplayName
                };
            }
            if (string.Equals(section, "themes"))
            {
                return new ItemListViewModel(GetConvertedThemeMediaResult, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 600,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "SpecialFeatures"
                };
            }
            if (string.Equals(section, "soundtrack") || string.Equals(section, "soundtracks"))
            {
                return new ItemListViewModel(GetSoundtracks, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 400,
                    EnableBackdropsForCurrentItem = false,
                    Context = Context
                };
            }
            if (string.Equals(section, "seasons"))
            {
                return new ItemListViewModel(GetChildren, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 240,
                    EnableBackdropsForCurrentItem = false,
                    Context = Context
                };
            }
            if (string.Equals(section, "songs"))
            {
                return new ItemListViewModel(GetAlbumSongs, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 40,
                    EnableBackdropsForCurrentItem = false,
                    Context = Context,
                    DisplayNameGenerator = FolderPage.GetDisplayName
                };
            }
            if (string.Equals(section, "trailers"))
            {
                return new ItemListViewModel(GetTrailers, _presentationManager, _imageManager, _apiClient, _navigation, _playback, _logger, _serverEvents)
                {
                    ImageDisplayWidth = 600,
                    EnableBackdropsForCurrentItem = false,
                    ListType = "Trailers",
                    Context = Context
                };
            }
            if (string.Equals(section, "itemmovies"))
            {
                return GetItemByNameItemListViewModel("Movie", MoviesViewModel.PosterWidth, MoviesViewModel.PosterWidth * 1.5);
            }
            if (string.Equals(section, "itemtrailers"))
            {
                return GetItemByNameItemListViewModel("Trailer", MoviesViewModel.PosterWidth, MoviesViewModel.PosterWidth * 1.5);
            }
            if (string.Equals(section, "itemseries"))
            {
                return GetItemByNameItemListViewModel("Series", TvViewModel.PosterWidth, TvViewModel.PosterWidth * 1.5);
            }
            if (string.Equals(section, "itemalbums"))
            {
                return GetItemByNameItemListViewModel("MusicAlbum", 280, 280);
            }
            if (string.Equals(section, "itemepisodes"))
            {
                return GetItemByNameItemListViewModel("Episode", 496, 279);
            }
            if (string.Equals(section, "media info"))
            {
                return _itemViewModel.MediaStreams.Select(i => new MediaStreamViewModel { MediaStream = i, OwnerItem = _itemViewModel.Item }).ToList();
            }

            return _itemViewModel;
        }