rem: RDFC.AppendElement(curr); 
add: if (RDFCU.IsContainer(BMDS, curr)) BookmarksUtils.cloneFolder(curr, newFolder); else RDFC.AppendElement(curr); 
context:   cloneFolder: function (aFolder, aParent, aRelativeItem)   {    var BMDS = this.RDF.GetDataSource("rdf:bookmarks");        var nameArc = this.RDF.GetResource(NC_NS + "Name");    var rName = BMDS.GetTarget(aFolder, nameArc, true);    rName = rName.QueryInterface(Components.interfaces.nsIRDFLiteral);    	var newFolder = this.createFolderWithID(rName.Value, aRelativeItem, aParent);        // Now need to append kiddies.     try {      const kRDFCContractID = "@mozilla.org/rdf/container;1";      const kRDFCIID = Components.interfaces.nsIRDFContainer;      var RDFC = Components.classes[kRDFCContractID].getService(kRDFCIID);      RDFC.Init(BMDS, aFolder);      var elts = RDFC.GetElements();      RDFC.Init(BMDS, newFolder);      while (elts.hasMoreElements()) {        var curr = elts.getNext().QueryInterface(Components.interfaces.nsIRDFResource);        RDFC.AppendElement(curr);      }    }    catch (e) {    }    return newFolder;  },
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/8395/0b2acd4d33b40d2d3880a229599553f60510bc09/bookmarksOverlay.js/clean/xpfe/components/bookmarks/resources/bookmarksOverlay.js