public virtual IList<ParseTreeMatch> FindAll(IParseTree tree, string xpath)
{
ICollection<IParseTree> subtrees = XPath.FindAll(tree, xpath, matcher.Parser);
IList<ParseTreeMatch> matches = new List<ParseTreeMatch>();
foreach (IParseTree t in subtrees)
{
ParseTreeMatch match = Match(t);
if (match.Succeeded)
{
matches.Add(match);
}
}
return matches;
}