rem: .map(RDF.GetDataSourceBlocking); 
add: .filter(function(x) { return x != "rdf:null"; }) .map(RDF.GetDataSourceBlocking); 
context: function loadHelpRDF() {  if (!helpFileDS) {    try {      helpFileDS = RDF.GetDataSourceBlocking(helpFileURI);    } catch (e if (e.result == NSRESULT_RDF_SYNTAX_ERROR)) {      log("Help file: " + helpFileURI + " contains a syntax error.");    } catch (e) {      log("Help file: " + helpFileURI + " was not found.");    }    try {      document.title = getAttribute(helpFileDS, RDF_ROOT, NC_TITLE, "");      helpBaseURI = getAttribute(helpFileDS, RDF_ROOT, NC_BASE, helpBaseURI);      // if there's no nc:defaulttopic in the content pack, set "welcome"      // as the default topic      defaultTopic = getAttribute(helpFileDS,        RDF_ROOT, NC_DEFAULTTOPIC, "welcome");      var panelDefs = helpFileDS.GetTarget(RDF_ROOT, NC_PANELLIST, true);      RDFContainer.Init(helpFileDS, panelDefs);      var iterator = RDFContainer.GetElements();      while (iterator.hasMoreElements()) {        var panelDef = iterator.getNext();        var panelID = getAttribute(helpFileDS, panelDef, NC_PANELID, null);        var datasources = getAttribute(helpFileDS, panelDef, NC_DATASOURCES, "");        // if datasources is "", there's nothing to load        if (!datasources)          continue;        datasources = normalizeLinks(helpBaseURI, datasources);        var panelPlatforms = getAttribute(helpFileDS, panelDef, NC_PLATFORM, platform);        panelPlatforms = panelPlatforms.split(/\s+/);        if (panelPlatforms.indexOf(platform) == -1)          continue; // ignore datasources for other platforms        var datasourceArray = datasources.split(/\s+/)                                          .map(RDF.GetDataSourceBlocking);        // Cache Additional Datasources to Augment Search Datasources.        if (panelID == "search") {          emptySearchText = getAttribute(helpFileDS, panelDef, NC_EMPTY_SEARCH_TEXT, emptySearchText);          emptySearchLink = getAttribute(helpFileDS, panelDef, NC_EMPTY_SEARCH_LINK, emptySearchLink);          datasourceArray.forEach(helpSearchPanel.database.AddDataSource,                                  helpSearchPanel.database);          filterDatasourceByPlatform(helpSearchPanel.database);          continue; // to next panel definition        }        // cache toc datasources list for use in getLink()        if (panelID == "toc")          gTocDSList += " " + datasources;        var tree = document.getElementById("help-" + panelID + "-panel");        // add each datasource to the current tree        datasourceArray.forEach(tree.database.AddDataSource,                                tree.database);        // filter and display the current tree        filterDatasourceByPlatform(tree.database);        tree.builder.rebuild();      }    } catch (e) {      log(e + "");    }  }}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/a94d29f92e98f10b909eb2f5b86a209eeb001e2b/help.js/clean/toolkit/components/help/content/help.js