}
nsXULTemplateBuilder::OnUnassert(nsIRDFDataSource* aDataSource,                                 nsIRDFResource* aSource,                                 nsIRDFResource* aProperty,                                 nsIRDFNode* aTarget){    // Ignore re-entrant updates while we're building content.    if (mIsBuilding || mUpdateBatchNest != 0)        return NS_OK;    AutoLatch latch(&mIsBuilding);    nsresult rv;	if (mCache)		mCache->Unassert(aSource, aProperty, aTarget);    LOG("onunassert", aSource, aProperty, aTarget);    rv = Retract(aSource, aProperty, aTarget);    if (NS_FAILED(rv)) return rv;    rv = SynchronizeAll(aSource, aProperty, aTarget, nsnull);    if (NS_FAILED(rv)) return rv;        return NS_OK;}