public bool Evaluate(Client client) { var conditionResult = Condition(client); Console.WriteLine("Condition is={0} Result={1}", ConditionDesc, conditionResult); return(conditionResult ? (TrueNode == null ? conditionResult: TrueNode.Evaluate(client)) : FalseNode == null ? conditionResult : FalseNode.Evaluate(client)); }