nsresult rv;       nsCOMPtr<nsIRDFResource> target = do_QueryInterface(aTarget); if (target && aProperty == kNC_child && IsFindResource(aSource) && !IsFindResource(target)) {  const char *uri; rv = target->GetValueConst(&uri); if (NS_FAILED(rv)) return rv;  searchQuery query; FindUrlToSearchQuery(uri, query);  nsMdbPtr<nsIMdbRow> row(mEnv); rv = FindRow(kToken_URLColumn, uri, getter_Acquires(row));  if (NS_FAILED(rv)) { *aHasAssertion = PR_FALSE; return NS_OK; }  *aHasAssertion = RowMatches(row, &query); return NS_OK; }       nsCOMPtr<nsISimpleEnumerator> targets; rv = GetTargets(aSource, aProperty, aTruthValue, getter_AddRefs(targets)); if (NS_FAILED(rv)) return rv;  while (1) { PRBool hasMore; rv = targets->HasMoreElements(&hasMore); if (NS_FAILED(rv)) return rv;  if (! hasMore) break;  nsCOMPtr<nsISupports> isupports; rv = targets->GetNext(getter_AddRefs(isupports)); if (NS_FAILED(rv)) return rv;  nsCOMPtr<nsIRDFNode> node = do_QueryInterface(isupports); if (node.get() == aTarget) { *aHasAssertion = PR_TRUE; return NS_OK; } }  *aHasAssertion = PR_FALSE; return NS_OK; }
  NS_IMETHOD HasAssertion(nsIRDFResource* aSource,                          nsIRDFResource* aProperty,                          nsIRDFNode* aTarget,                          PRBool aTruthValue,                          PRBool* aHasAssertion) {    return mInner->HasAssertion(aSource, aProperty, aTarget, aTruthValue, aHasAssertion);  }