public IEnumerable <View> Find(string projectRoot) { foreach (var view in FindViews(projectRoot, string.Empty)) { yield return(view); } var areasPath = Path.Combine(projectRoot, "Areas"); if (_fileLocator.DirectoryExists(areasPath)) { foreach (var areaPath in _fileLocator.GetDirectories(areasPath)) { var areaName = Path.GetFileName(areaPath); foreach (var view in FindViews(areaPath, areaName)) { yield return(view); } } } }