private static bool RecursivelyAdjustTreeNode(DomainNode node, object tag, bool check) { if ((node.Tag as ObjectLabel).Object == tag) { node.Checked = check; return true; } return node.Nodes.Cast<DomainNode>().Any(child => RecursivelyAdjustTreeNode(child, tag, check)); }