private void FillAsyncInnerR(FolderNode ndParent, string path, string[] queryWords) { string[] subFolders = Directory.GetDirectories(path); foreach (string subFolder in subFolders) { if (_canceled) { break; } AddFolderNodeHandler callback = AddFolderNode; FolderNode ndChild = treeView.Invoke(callback, ndParent, subFolder) as FolderNode; FillAsyncInnerR(ndChild, subFolder, queryWords); } }