protected virtual List<TreeViewItem> Search(TreeViewItem root, string search)
{
List<TreeViewItem> searchResult = new List<TreeViewItem>();
if (this.showRootNode)
{
this.SearchRecursive(root, search, searchResult);
searchResult.Sort(new TreeViewItemAlphaNumericSort());
return searchResult;
}
int num = !this.alwaysAddFirstItemToSearchResult ? 0 : 1;
if (root.hasChildren)
{
for (int i = num; i < root.children.Count; i++)
{
this.SearchRecursive(root.children[i], search, searchResult);
}
searchResult.Sort(new TreeViewItemAlphaNumericSort());
if (this.alwaysAddFirstItemToSearchResult)
{
searchResult.Insert(0, root.children[0]);
}
}
return searchResult;
}