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);
 }