rem: var t; if ((t = this._share.rowCache[targetRow])) return t; 
add: if (targetRow in this._share.rowCache) return this._share.rowCache[targetRow]; 
context: function torr_find (targetRow){    var t;    if ((t = this._share.rowCache[targetRow]))        return t;    var childStart = -1; /* childStart represents the starting visual row                          * for the child we're examining. */    for (var i = 0; i < this.childData.length; ++i)    {        var child = this.childData[i];        /* ignore hidden children */        if (child.isHidden)            continue;        /* if this kid is the targetRow, we're done */        if (childStart == targetRow)            return (this._share.rowCache[targetRow] = child);        /* if this kid contains the index, ask *it* to find the record */        else if (targetRow <= childStart + child.visualFootprint) {            /* this *has* to succeed */            var rv = child.locateChildByVisualRow(targetRow, childStart + 1);            //XXXASSERT (rv, "Can't find a row that *has* to be there.");            /* don't cache this, the previous call to locateChildByVisualRow             * just did. */            return rv;        }        /* otherwise, get ready to ask the next kid */        childStart += child.visualFootprint;    }    return null;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/e711edc14f9f9f43c8fc7d007226dcc5ca78ab65/tree-utils.js/clean/extensions/venkman/resources/content/tree-utils.js