private bool AreHaveCommonAncestor(NetworkNode firstNode, NetworkNode secondNode, params NetworkNode[] stopNodes) { if (secondNode.IsInherit(firstNode, false)) { return true; } NetworkNode baseNode = firstNode.BaseNode; while (baseNode != null && Array.IndexOf(stopNodes, baseNode) == -1) { if (secondNode.IsInherit(baseNode, false)) { return true; } baseNode = baseNode.BaseNode; } return false; }