if (mURLSpec) PL_strfree(mURLSpec);
rv = Flush();
RDFXMLDataSourceImpl::~RDFXMLDataSourceImpl(void){    nsresult rv;    NS_WITH_SERVICE(nsIRDFService, rdf, kRDFServiceCID, &rv);    if (NS_SUCCEEDED(rv)) {        rdf->UnregisterDataSource(this);    }    Flush();    if (mURLSpec) PL_strfree(mURLSpec);    while (mNameSpaces) {        NameSpaceMap* doomed = mNameSpaces;        mNameSpaces = mNameSpaces->Next;        NS_IF_RELEASE(doomed->Prefix);        delete doomed;    }    NS_RELEASE(mInner);    if (--gRefCnt == 0) {        if (gRDFC)            nsServiceManager::ReleaseService(kRDFContainerUtilsCID, gRDFC);        NS_IF_RELEASE(kRDF_Bag);        NS_IF_RELEASE(kRDF_Seq);        NS_IF_RELEASE(kRDF_Alt);        NS_IF_RELEASE(kRDF_instanceOf);        NS_IF_RELEASE(kRDF_nextVal);    }}