rem: if (2 in ary && !(name in parseResult)) 
add: if (arrayHasElementAt(ary, 2) && !(name in parseResult)) 
context: function parseJSDURL (url){    var ary;        if (url.search(JSD_URL_PREFIX) != 0)        return null;        ary = url.substr(JSD_SCHEME_LEN).match(/([^?#]+)(?:\?(.*))?/);    if (!ary)        return null;    var parseResult = new Object();    parseResult.spec = url;    parseResult.service = ary[1].toLowerCase();    var rest = ary[2];    if (rest)    {        ary = rest.match(/([^&#]+)/);        while (ary)        {            rest = RegExp.rightContext.substr(1);            var assignment = ary[1];            ary = assignment.match(/(.+)=(.*)/);            if (ASSERT(ary, "error parsing ``" + assignment + "'' from " + url))            {                var name = decodeURIComponent(ary[1]);                /* only set the property the first time we see it */                if (2 in ary && !(name in parseResult))                    parseResult[name] = decodeURIComponent(ary[2]);            }            ary = rest.match(/([^&#]+)/);        }    }        //dd (dumpObjectTree(parseResult));    return parseResult;}
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/06072959e08014ecaab9fed6a83c1df78b22bff3/venkman-jsdurl.js/buggy/extensions/venkman/resources/content/venkman-jsdurl.js