private IEnumerable BuildFindResults(object resultsObject, bool moreAvailable = false) { if (resultsObject == null) { return(null); } var results = resultsObject as IEnumerable <(string, IEnumerable <(int, string)>)>; var root = new Folder(); // root.Children.Add(new Message { Text = "Elapsed " + Elapsed.ToString() }); if (results != null) { foreach (var file in results) { var folder = new SourceFile() { Name = Path.GetFileName(file.Item1), SourceFilePath = file.Item1, IsExpanded = true }; root.AddChild(folder); foreach (var line in file.Item2) { var sourceFileLine = new SourceFileLine() { LineNumber = line.Item1 + 1, LineText = line.Item2 }; folder.AddChild(sourceFileLine); } } } if (!root.HasChildren && !string.IsNullOrEmpty(findInFilesControl.SearchText)) { root.Children.Add(new Message { Text = "No results found." }); } return(root.Children); }