rem: gSearchSession = Components.classes[searchSessionProgID].createInstance(Components.interfaces.nsIMsgSearchSession); 
add: gSearchSession = Components.classes[searchSessionContractID].createInstance(Components.interfaces.nsIMsgSearchSession); 
context: function setupDatasource() {    RDF = Components.classes[rdfServiceProgID].getService(Components.interfaces.nsIRDFService);        gSearchDatasource = Components.classes[rdfDatasourcePrefix + "msgsearch"].createInstance(Components.interfaces.nsIRDFDataSource);    dump("The root is " + gSearchDatasource.URI + "\n");    gThreadTree.setAttribute("ref", gSearchDatasource.URI);        // the thread pane needs to use the search datasource (to get the    // actual list of messages) and the message datasource (to get any    // attributes about each message)    gSearchSession = Components.classes[searchSessionProgID].createInstance(Components.interfaces.nsIMsgSearchSession);        setMsgDatasourceWindow(gSearchDatasource, msgWindow);    gThreadTree.database.AddDataSource(gSearchDatasource);    var messageDatasource = Components.classes[rdfDatasourcePrefix + "mailnewsmessages"].createInstance(Components.interfaces.nsIRDFDataSource);    setMsgDatasourceWindow(messageDatasource, msgWindow);        gThreadTree.database.AddDataSource(messageDatasource);        // the datasource is a listener on the search results    searchListener = gSearchDatasource.QueryInterface(Components.interfaces.nsIMsgSearchNotify);    gSearchSession.registerListener(searchListener);}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/6cc70ebd6c97bd0b2fe48c31f579e855387ced9d/SearchDialog.js/buggy/mailnews/base/search/resources/content/SearchDialog.js