private void ExcludePackageSubFoldersFromNamespace(ISettingsStorageMountPoint mountPoint,
                                                    IProjectFolder thisFolder, string thisPath)
 {
     foreach (var subFolder in thisFolder.GetSubFolders())
     {
         var path = thisPath + @"\" + subFolder.Name;
         ExcludePackageRootFolderFromNamespace(mountPoint, subFolder, path);
     }
 }
        private void ExcludePackagesFoldersFromNamespace(ISettingsStorageMountPoint mountPoint,
                                                         IProjectFolder packageHierarchyParentFolder,
                                                         string packageHierarchyFolderName,
                                                         string parentProjectRelativePath = "")
        {
            var packageHierarchyRootFolderPath = parentProjectRelativePath.Length == 0
                ? packageHierarchyFolderName
                : parentProjectRelativePath + @"\" + packageHierarchyFolderName;

            foreach (var subFolder in packageHierarchyParentFolder.GetSubFolders(packageHierarchyFolderName))
            {
                // Exclude the root of the package hierarchy (Packages or PackageCache)
                ExcludeFolderFromNamespace(mountPoint, packageHierarchyRootFolderPath);
                ExcludePackageSubFoldersFromNamespace(mountPoint, subFolder, packageHierarchyRootFolderPath);
            }
        }