public virtual bool VisitDoLoopStatement(DoLoopStatement doLoopStatement, object d)
 {
     if ((doLoopStatement == null)) {
         return SetFailure();
     }
     if ((d == null)) {
         return SetFailure();
     }
     if ((doLoopStatement.Condition == null)) {
         return SetFailure();
     }
     if ((doLoopStatement.EmbeddedStatement == null)) {
         return SetFailure();
     }
     if(doLoopStatement.GetType() != d.GetType()) {return SetFailure();}
     var data = (DoLoopStatement)d;
     if (!IsMatch(doLoopStatement, data)) {
         return SetFailure();
     }
     doLoopStatement.Condition.AcceptVisitor(this, data.Condition);
     return doLoopStatement.EmbeddedStatement.AcceptVisitor(this, data.EmbeddedStatement);
 }