public SelectUpdatesViewModel()
        {
            Title = "Select the updates you want to install";
            Products = new CollectionViewSource() {Source = ProductList};

            Products.GroupDescriptions.Add(new PropertyGroupDescription("Product.IsUpgrade", new IsUpgradeToNiceConverter()));
            var loc = new LocalServiceLocator();
            _updateService = loc.UpdateService;

            Save = new RelayCommand(() =>
                                        {
                                            Parallel.ForEach(ProductList.ToArray(), i =>
                                                                                     {
                                                                                         if (i.IsSelected)
                                                                                         {
                                                                                             _updateService.
                                                                                                 SelectProduct(
                                                                                                     i.Product);
                                                                                         }
                                                                                         else
                                                                                             _updateService.
                                                                                                 UnselectProduct(
                                                                                                     i.Product);

                                                                                         // go to primary page
                                                                                     });
                                            loc.NavigationService.GoTo(ViewModelLocator.PrimaryViewModelStatic);
                                        });

            BlockProduct = new RelayCommand<SelectableProduct>(p => _updateService.BlockProduct(p.Product));

            Loaded += OnLoaded;
        }