void Search(PEFile module, Resource resource, ITreeNode parent, ITreeNode node, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); if (node is IResourcesFileTreeNode treeNode) { if (!CheckVisibility(treeNode.Resource)) { return; } resource = treeNode.Resource; } if (node.Text is string s && IsMatch(s)) { OnFoundResult(module, resource, node, parent); } if (!searchInside) { return; } node.EnsureLazyChildren(); foreach (var child in node.Children) { Search(module, resource, node, child, cancellationToken); } }