public virtual bool VisitRaiseEventStatement(RaiseEventStatement raiseEventStatement, object d)
 {
     if ((raiseEventStatement == null)) {
         return SetFailure();
     }
     if ((d == null)) {
         return SetFailure();
     }
     if ((raiseEventStatement.Arguments == null)) {
         return SetFailure();
     }
     if(raiseEventStatement.GetType() != d.GetType()) {return SetFailure();}
     var data = (RaiseEventStatement)d;
     if (!IsMatch(raiseEventStatement, data)) {
         return SetFailure();
     }
     if (raiseEventStatement.Arguments.Count == data.Arguments.Count) {
     for (int i=0; i<raiseEventStatement.Arguments.Count;i++) {
         Expression o = raiseEventStatement.Arguments[i];
         if(o == null){return SetFailure();}
         if((bool)o.AcceptVisitor(this, data.Arguments[i]) == false) return SetFailure();
     }			}			else { return SetFailure(); }
     return true;
 }