rem:   var treeItemRow = searchTermObj.searchattribute; while (treeItemRow) { if (treeItemRow.localName == "treeitem") break; treeItemRow = treeItemRow.parentNode; 
add:   var listitem = searchTermObj.searchattribute; while (listitem) { if (listitem.localName == "listitem") break; listitem = listitem.parentNode; 
context: function removeSearchRow(index){    var searchTermObj = gSearchTerms[index].obj;    if (!searchTermObj) {        return;    }    // if it is an existing (but offscreen) term,    // make sure it is initialized before we remove it.    if (!gSearchTerms[index].searchTerm && !gSearchTerms[index].initialized)        initializeTermFromIndex(index);    // need to remove row from tree, so walk upwards from the    // searchattribute to find the first <treeitem>    var treeItemRow = searchTermObj.searchattribute;    while (treeItemRow) {        if (treeItemRow.localName == "treeitem") break;        treeItemRow = treeItemRow.parentNode;    }    if (!treeItemRow) {        dump("Error: couldn't find parent treeitem!\n");        return;    }    if (searchTermObj.searchTerm) {        gSearchRemovedTerms[gSearchRemovedTerms.length] = searchTermObj.searchTerm;    } else {        //dump("That wasn't real. ignoring \n");    }    treeItemRow.parentNode.removeChild(treeItemRow);    // remove it from the list of terms - XXX this does it?    // remove the last element    gSearchTerms.length--;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/07d96867f11683becf5e1a6ca5e64e6a9324c957/searchTermOverlay.js/clean/mailnews/base/search/resources/content/searchTermOverlay.js