if (nsnull != mObservers) { for (PRInt32 i = mObservers->Count() - 1; i >= 0; --i) { nsIRDFObserver* obs = (nsIRDFObserver*) mObservers->ElementAt(i); NS_RELEASE(obs); } delete mObservers; mObservers = nsnull; }
delete mObservers;
FindDataSource::~FindDataSource (void){	gRDFService->UnregisterDataSource(this);	PL_strfree(mURI);	if (nsnull != mObservers)	{		for (PRInt32 i = mObservers->Count() - 1; i >= 0; --i)		{			nsIRDFObserver* obs = (nsIRDFObserver*) mObservers->ElementAt(i);			NS_RELEASE(obs);		}		delete mObservers;		mObservers = nsnull;	}	if (--gRefCnt == 0)	{		NS_RELEASE(kNC_Child);		NS_RELEASE(kNC_Name);		NS_RELEASE(kNC_URL);		NS_RELEASE(kNC_FindObject);		NS_RELEASE(kNC_pulse);		NS_RELEASE(kRDF_InstanceOf);		NS_RELEASE(kRDF_type);		gFindDataSource = nsnull;		nsServiceManager::ReleaseService(kRDFServiceCID, gRDFService);		gRDFService = nsnull;	}}