public override bool IsEquivalentTo(AstNode otherNode) { var otherConditional = otherNode as Conditional; return(otherConditional != null && Condition.IsEquivalentTo(otherConditional.Condition) && TrueExpression.IsEquivalentTo(otherConditional.TrueExpression) && FalseExpression.IsEquivalentTo(otherConditional.FalseExpression)); }