compositeDS->RemoveDataSource(dataSource);
nsresult rv = compositeDS->RemoveDataSource(dataSource); NS_ASSERTION(NS_SUCCEEDED(rv), "failed to RemoveDataSource");
static PRBool PR_CALLBACK DatasourceEnumerator(nsHashKey *aKey, void *aData, void* closure){    if (!closure || !aData)        return PR_FALSE;    nsIRDFCompositeDataSource* compositeDS = (nsIRDFCompositeDataSource*) closure;        nsCOMPtr<nsISupports> supports = (nsISupports*)aData;        nsCOMPtr<nsIRDFDataSource> dataSource = do_QueryInterface(supports);    if (!dataSource)        return PR_FALSE;        compositeDS->RemoveDataSource(dataSource);    return PR_TRUE;}