rem:   if (!DWREngine._ordered) { 
add: if (batch.map.callCount == 0) return;   if (DWREngine._ordered && DWREngine._batches.length != 0) { DWREngine._batchQueue[DWREngine._batchQueue.length] = batch; } else { 
context: DWREngine.endBatch = function(options) {  if (options == null) options = {};  var batch = DWREngine._batch;  if (batch == null) {    DWREngine._handleError("No batch in progress.");    return;  }  // The hooks need to be merged carefully to preserve ordering  if (options && options.preHook) batch.preHooks.unshift(options.preHook);  if (options && options.postHook) batch.postHooks.push(options.postHook);  if (DWREngine._preHook) batch.preHooks.unshift(DWREngine._preHook);  if (DWREngine._postHook) batch.postHooks.push(DWREngine._postHook);  // Other props. priority: batch, call, global - the order in which they were set  var propnames = [ "method", "verb", "async", "timeout" ];  var propname;  for (var i = 0; i < propnames.length; i++) {    propname = propnames[i];    if (options[propname] != null) batch[propname] = options[propname];    if (batch[propname] == null) batch[propname] = DWREngine["_" + propname];  }  batch.completed = false;  // We are about to send so this batch should not be globally visible  DWREngine._batch = null;  // If we are in ordered mode, then we don't send unless the list of sent  // items is empty  if (!DWREngine._ordered) {    DWREngine._batches[DWREngine._batches.length] = batch;    DWREngine._sendData(batch);  }  else {    if (DWREngine._batches.length == 0) {      // We aren't waiting for anything, go now.      DWREngine._batches[DWREngine._batches.length] = batch;      DWREngine._sendData(batch);    }    else {      // Push the batch onto the waiting queue      DWREngine._batchQueue[DWREngine._batchQueue.length] = batch;    }  }};
meta: 266	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/266/3d7ac04e72fbd072b7b499f3740d6cf56749b7f7/engine.js/buggy/java/org/directwebremoting/engine.js