rem: propArray[j+1] = oldValue.QueryInterface(kRDFLITIID); 
add: propArray[j] = oldValue.QueryInterface(kRDFLITIID); 
context:   removeSelection: function (aAction, aSelection)  {    if (aSelection.length > 1)      gBkmkTxnSvc.startBatch();    if (aSelection.length > this.BATCH_LIMIT && aAction != "move")      BMDS.beginUpdateBatch();    for (var i = 0; i < aSelection.length; ++i) {      // try to put back aSelection.parent[i] if it's null, so we can delete after searching      if (aSelection.parent[i] == null)          aSelection.parent[i] = BMDS.getParent(aSelection.item[i]);      if (aSelection.parent[i]) {        RDFC.Init(BMDS, aSelection.parent[i]);        // save the selection property into array that is used later in        // when performing the REMOVE transaction        // (if the selection is folder save all childs property)        var propArray;        if (aAction != "move") {            propArray = [aSelection.item[i], null, null, null, null, null, null];            var aType = BookmarksUtils.resolveType(aSelection.item[i]);                        if (aType != "Livemark") {// don't change livemark properties               for (var j = 0; j < gBmProperties.length; ++j) {                  var oldValue = BMDS.GetTarget(aSelection.item[i], gBmProperties[j], true);                  if (oldValue)                      propArray[j+1] = oldValue.QueryInterface(kRDFLITIID);               }            }            if (aType == "Folder" || aType == "Livemark")                BookmarksUtils.getAllChildren(aSelection.item[i], propArray);        }        var proplength = propArray ? propArray.length : 0;        gBkmkTxnSvc.createAndCommitTxn(gBkmkTxnSvc.REMOVE, aAction,                                        aSelection.item[i],                                        RDFC.IndexOf(aSelection.item[i]),                                       aSelection.parent[i],                                        proplength, propArray);      }    }    if (aSelection.length > 1)      gBkmkTxnSvc.endBatch();    if (aSelection.length > this.BATCH_LIMIT && aAction != "move")      BMDS.beginUpdateBatch();    return true;  },
meta: 10234	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/10234/82349f3f5e95e78b6596b48d99afeaa12be974df/bookmarks.js/clean/browser/components/bookmarks/content/bookmarks.js