public virtual bool VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, object d) { if ((unaryOperatorExpression == null)) { return SetFailure(); } if ((d == null)) { return SetFailure(); } if ((unaryOperatorExpression.Expression == null)) { return SetFailure(); } if(unaryOperatorExpression.GetType() != d.GetType()) {return SetFailure();} var data = (UnaryOperatorExpression)d; if (!IsMatch(unaryOperatorExpression, data)) { return SetFailure(); } return unaryOperatorExpression.Expression.AcceptVisitor(this, data.Expression); }