public SolutionFolderObject(SolutionFolderLine solutionFolderLine, 
                                    List<string> nestedProjectsSection,
                                    List<string> csprojLines,
                                    List<string> solutionFolderLines)
        {
            Name = solutionFolderLine.Name;
            FolderGuid = solutionFolderLine.FolderGuid;

            if(HasNestedFolders(solutionFolderLine.FolderGuid, nestedProjectsSection)) {
                NestedFolders = new List<SolutionFolderObject>();

            }

            if(HasNestedProjects()) {
                NestedProjects = new List<string>();
            }
        }
        public SolutionView(List<string> lines, string rootPath)
        {
            List<string> allProjectLines = Common.ApplyFilter(lines, Constants.PROJECT, null);
            List<string> solutionFolderLines = Common.GetSolutionFolders(allProjectLines);
            List<string> csprojLines = Common.ApplyFilter(allProjectLines, null, Constants.CSPROJ);
            List<string> nestedProjectsSection = Common.GetNestedProjects(lines);

            SolutionFolders = new List<SolutionFolderObject>();
            foreach(string line in solutionFolderLines) {
                SolutionFolderLine solutionFolderLine = new SolutionFolderLine(line);
                SolutionFolderObject solutionFolder = new SolutionFolderObject(solutionFolderLine,
                                                                               nestedProjectsSection,
                                                                               csprojLines,
                                                                               solutionFolderLines);
                SolutionFolders.Add(solutionFolder);
            }

            ProjectsNotInASolutionFolder = BuildListOfProjectsNotInASolutionFolder(csprojLines, SolutionFolders);
        }