var aroundObj = marr[2]||dj_global; var aroundFunc = marr[3]; var msg = marr[6]; var maxCount = marr[7]; if(maxCount > -1){ if(maxCount == 0){ return; } marr[7]--; } var undef; 
    var unrollAdvice  = function(marr){      if(!marr){        dojo.debug("Null argument to unrollAdvice()");        return;      }      var callObj = marr[0]||dj_global;      var callFunc = marr[1];      if(!callObj[callFunc]){        dojo.raise("function \"" + callFunc + "\" does not exist on \"" + callObj + "\"");      }      var aroundObj = marr[2]||dj_global;      var aroundFunc = marr[3];      var msg = marr[6];      var maxCount = marr[7];      if(maxCount > -1){        if(maxCount == 0){          return;        }        marr[7]--;      }      var undef;      var to = {        args: [],        jp_: this,        object: obj,        proceed: function(){          return callObj[callFunc].apply(callObj, to.args);        }      };      to.args = aargs;      var delay = parseInt(marr[4]);      var hasDelay = ((!isNaN(delay))&&(marr[4]!==null)&&(typeof marr[4] != "undefined"));      if(marr[5]){        var rate = parseInt(marr[5]);        var cur = new Date();        var timerSet = false;        if((marr["last"])&&((cur-marr.last)<=rate)){          if(dojo.event._canTimeout){            if(marr["delayTimer"]){              clearTimeout(marr.delayTimer);            }            var tod = parseInt(rate*2); // is rate*2 naive?            var mcpy = dojo.lang.shallowCopy(marr);            marr.delayTimer = setTimeout(function(){              // FIXME: on IE at least, event objects from the              // browser can go out of scope. How (or should?) we              // deal with it?              mcpy[5] = 0;              unrollAdvice(mcpy);            }, tod);          }          return;        }else{          marr.last = cur;        }      }      // FIXME: need to enforce rates for a connection here!      if(aroundFunc){        // NOTE: around advice can't delay since we might otherwise depend        // on execution order!        aroundObj[aroundFunc].call(aroundObj, to);      }else{        // var tmjp = dojo.event.MethodJoinPoint.getForMethod(obj, methname);        if((hasDelay)&&((dojo.render.html)||(dojo.render.svg))){  // FIXME: the render checks are grotty!          dj_global["setTimeout"](function(){            if(msg){              callObj[callFunc].call(callObj, to);            }else{              callObj[callFunc].apply(callObj, args);            }          }, delay);        }else{ // many environments can't support delay!          if(msg){            callObj[callFunc].call(callObj, to);          }else{            callObj[callFunc].apply(callObj, args);          }        }      }    };
6315	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6315/65ae7e8768a77997b7894e274bc242069a1cb027/struts_dojo.js.uncompressed.js/clean/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js