/// <summary>
        /// Initializes a new instance of the <see cref="SelectProjectsViewModel" /> class.
        /// </summary>
        /// <param name="visualStudio">The visual studio.</param>
        /// <param name="existingProjects">The existing projects.</param>
        /// <exception cref="ArgumentNullException">The <paramref name="visualStudio" /> is <c>null</c>.</exception>
        /// <exception cref="ArgumentNullException">The <paramref name="visualStudio" /> is <c>null</c>.</exception>
        public SelectProjectsViewModel(DTE2 visualStudio, IEnumerable<Project> existingProjects)
        {
            Argument.IsNotNull("visualStudio", visualStudio);
            Argument.IsNotNull("existingProjects", existingProjects);

            _visualStudio = visualStudio;
            AvailableProjects = new List<Project>(existingProjects);
            _selectableProjects = AvailableProjects.Select(x => new ProjectSelection(x)).ToList();
            SelectableProjects = new ObservableCollection<ProjectSelection>();

            RootProject = _visualStudio.GetActiveProject();
        }