void IFsItemViewModelVisitor.Visit(FsDirectoryViewModel directory)
        {
            if (directory.IsSelected == false)
            {
                return;
            }

            _ItemsCount.NumberOfSolutionFolders++;
            IFsItemViewModelVisitor childVisitor;

            if (directory.CreateSolutionFolder)
            {
                var solutionFolder = new SolutionDirectoryViewModel(directory.Name);
                _CurrentContextItems.Add(solutionFolder);

                childVisitor = new FsItemBuildSolutionItemHierarchyVisitor(solutionFolder, _ItemsCount);
            }
            else
            {
                childVisitor = this;
            }

            foreach (var directoryChild in directory.ChildItems)
            {
                directoryChild.Accept(childVisitor);
            }
        }
 private FsItemBuildSolutionItemHierarchyVisitor(SolutionDirectoryViewModel viewModel,
                                                 SolutionItemsCount itemsCount)
 {
     _CurrentContextItems = viewModel.ChildItems;
     _ItemsCount          = itemsCount;
 }