private IEnumerable <string> CollectPaths(VsProjectScope projectScope, ProjectItem projectItem) { var testPath = GetPath(projectScope, projectItem); if (testPath != null) { yield return(testPath); } else { foreach (var subItemPath in VsxHelper.GetAllSubProjectItem(projectItem).Select(pi => GetPath(projectScope, pi)).Where(p => p != null)) { yield return(subItemPath); } } }