if ((aSource == kNC_HistoryRoot) && (aProperty == kNC_child) && (aTruthValue)) { return nsMdbTableEnumerator::CreateInstance(mEnv, mTable, kToken_URLColumn, aTargets);
if (!aTruthValue) return NS_NewEmptyEnumerator(aTargets);   if ((aSource == kNC_HistoryRoot) && (aProperty == kNC_child)) { URLEnumerator* result = new URLEnumerator(kToken_URLColumn); if (! result) return NS_ERROR_OUT_OF_MEMORY;  nsresult rv; rv = result->Init(mEnv, mTable); if (NS_FAILED(rv)) return rv;  *aTargets = result; NS_ADDREF(*aTargets); return NS_OK;
nsGlobalHistory::GetTargets(nsIRDFResource* aSource,                            nsIRDFResource* aProperty,                            PRBool aTruthValue,                            nsISimpleEnumerator** aTargets){  NS_PRECONDITION(aSource != nsnull, "null ptr");  if (! aSource)    return NS_ERROR_NULL_POINTER;  NS_PRECONDITION(aProperty != nsnull, "null ptr");  if (! aProperty)    return NS_ERROR_NULL_POINTER;  if ((aSource == kNC_HistoryRoot) && (aProperty == kNC_child) && (aTruthValue)) {    return nsMdbTableEnumerator::CreateInstance(mEnv, mTable, kToken_URLColumn, aTargets);  }  else if ((aProperty == kNC_Date) ||           (aProperty == kNC_VisitCount) ||           (aProperty == kNC_Name) ||           (aProperty == kNC_Referrer)) {    nsresult rv;    nsCOMPtr<nsIRDFNode> target;    rv = GetTarget(aSource, aProperty, aTruthValue, getter_AddRefs(target));    if (NS_FAILED(rv)) return rv;    if (rv == NS_OK) {      return NS_NewSingletonEnumerator(aTargets, target);    }  }  return NS_NewEmptyEnumerator(aTargets);}