rem: dm.addDownload(0, sourceUri, targetUri, parseScriptName(sourceUri), null, null, null, persist) dm.open(window._content, targetFile.path) 
add: if(dm.addDownload.length == 8) { dm.addDownload(0, sourceUri, targetUri, parseScriptName(sourceUri), null, null, null, persist) } else { dm.addDownload(sourceUri, targetUri, parseScriptName(sourceUri), null, null, persist); } 
context:   this.start = function() {    try {      dm.addDownload(0, sourceUri, targetUri, parseScriptName(sourceUri), null, null, null, persist)      dm.open(window._content, targetFile.path)      download = dm.getDownload(targetFile.path);      persist.progressListener = download;      persist.saveURI(sourceUri, null, null, null, null, targetFile);      // this seems like a huge hack, but it was actually the most reliable      // way I could find to determine when downloading is complete      timerId = window.setInterval(checkLoad, 200);    }    catch (e) {      handleErrors(e);    }  }
meta: 9744	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9744/e2ff2c9cbb759f91bf5a308f212528d3a046209f/greasemonkey.js/buggy/src/content/greasemonkey.js