private void NotifyOnProjectSelectionChanged(bool isSelected, IExtensibleProject project)
 {
     if (isSelected)
     {
         ProjectsModel.Add(project);
     }
     else
     {
         ProjectsModel.Remove(project);
     }
 }
        protected override Task InitializeAsync()
        {
            if (!_extensiblesManager.IsConfigLoaded)
            {
                _extensiblesManager.RestoreStateFromConfig();
            }

            var availableProjects = _extensiblesManager.GetAllExtensibleProjects();

            Projects = new ObservableCollection <CheckableUnit <IExtensibleProject> >(availableProjects
                                                                                      .Select(x =>
                                                                                              new CheckableUnit <IExtensibleProject>(true, x, NotifyOnProjectSelectionChanged)));

            Projects.ForEach(x => ProjectsModel.Add(x.Value));

            return(base.InitializeAsync());
        }