NS_IF_RELEASE(mParser);
XULDocumentImpl::~XULDocumentImpl(){    NS_IF_RELEASE(mDocumentDataSource);    NS_IF_RELEASE(mLocalDataSource);    if (mRDFService) {        nsServiceManager::ReleaseService(kRDFServiceCID, mRDFService);        mRDFService = nsnull;    }    // mParentDocument is never refcounted    // Delete references to sub-documents    PRInt32 index = mSubDocuments.Count();    while (--index >= 0) {      nsIDocument* subdoc = (nsIDocument*) mSubDocuments.ElementAt(index);      NS_RELEASE(subdoc);    }    NS_IF_RELEASE(mBuilders);    NS_IF_RELEASE(mXULBuilder);    NS_IF_RELEASE(mSelection);    NS_IF_RELEASE(mScriptContextOwner);    NS_IF_RELEASE(mAttrStyleSheet);    NS_IF_RELEASE(mRootContent);    NS_IF_RELEASE(mDocumentURLGroup);    NS_IF_RELEASE(mDocumentURL);    NS_IF_RELEASE(mArena);    NS_IF_RELEASE(mNameSpaceManager);    NS_IF_RELEASE(mParser);    NS_IF_RELEASE(mLineBreaker);    NS_IF_RELEASE(mWordBreaker);    NS_IF_RELEASE(mContentViewerContainer);    NS_IF_RELEASE(mFragmentRoot);        if (--gRefCnt == 0) {        NS_IF_RELEASE(kIdAtom);        NS_IF_RELEASE(kObservesAtom);    }}