void SetupUpdates()
        {
            Updates = new CollectionLibraryItemViewModel(_library,
                                                         new BuiltInCollection(_game.Modding())
            {
                Name = "Updates"
            },
                                                         SixIconFont.withSIX_icon_Arrow_Down_Open,
                                                         isFeatured: true)
            {
                IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 2
            };

            lock (Network.Items)
                Updates.Model.AddModAndUpdateState(
                    Network.Items.OfType <Mod>().Where(x => x.State == ContentState.UpdateAvailable).ToArray(),
                    _contentList);

            _disposables.Add(Network.Items.ItemChanged.Where(x => x.PropertyName == "State")
                             .Subscribe(x => HandleModStateChanged((Mod)x.Sender)));

            _disposables.Add(Updates.WhenAnyValue(x => x.HasItems)
                             .Subscribe(x => {
                if (x)
                {
                    Items.AddLocked(Updates);
                }
                else
                {
                    Items.RemoveLocked(Updates);
                    Updates.IsSelected = false;
                }
            }));
        }
        void SetupUpdates()
        {
            _updates = new MissionContentLibraryItemViewModel <BuiltInContentContainer>(_library,
                                                                                        new BuiltInContentContainer("Updates"),
                                                                                        SixIconFont.withSIX_icon_Arrow_Down_Dir,
                                                                                        isFeatured: true)
            {
                IconForeground = SixColors.SixOrange, IsRoot = true, SortOrder = 2
            };

            _network.Items.OfType <Mission>().Where(x => x.State == ContentState.UpdateAvailable)
            .ForEach(x => _updates.Items.Add(x));

            _disposables.Add(_network.Items.ItemChanged.Where(x => x.PropertyName == "State")
                             .Subscribe(x => HandleMissionStateChanged((MissionBase)x.Sender)));

            _disposables.Add(_updates.WhenAnyValue(x => x.HasItems)
                             .Subscribe(x => {
                if (x)
                {
                    Items.AddLocked(_updates);
                }
                else
                {
                    Items.RemoveLocked(_updates);
                }
            }));
        }
        void SetupBuiltInFeatured()
        {
            var container = new BuiltInContentContainer("Featured");

            _builtinFeatured =
                new BrowseContentLibraryItemViewModel <BuiltInContentContainer>(_library, container,
                                                                                SixIconFont.withSIX_icon_Ribbon, BuiltInGroup, true)
            {
                IconForeground = SixColors.SixOrange,
                IsRoot         = true,
                SortOrder      = 7,
                IsHead         = true
            };
            container.Items.AddRangeLocked(_game.Lists.Collections.Where(x => _desiredModsets.Any(y => y.Equals(x.Id))).Concat(Network.Items.Where(IsFeatured)));
            Items.AddLocked(_builtinFeatured);
        }