public void FindAll() { var r = new MapNode(new MapTree(), "r"); var c1 = new MapNode(r, "c1"); var cc1 = new MapNode(c1, "cc1"); var cc2 = new MapNode(c1, "cc2"); var c2 = new MapNode(r, "c2"); var list = r.FindAll(n => n.Text.StartsWith("r") || n.Text.EndsWith("2")); Assert.AreEqual(list.Count, 3); }