public bool checkCond(CheckListItem item) { // if there is a child go recursive if (item.Child != null) { if (item.CheckValue() && checkCond(item.Child)) return true; } else { // is no child then simple check if (item.CheckValue()) return true; } return false; }