if (trackEmptyFlag == PR_TRUE) {  nsAutoString		emptyVal("true"); nsCOMPtr<nsIRDFNode>	value; if (NS_SUCCEEDED(rv = mDB->GetTarget(aResource, property, PR_TRUE, getter_AddRefs(value))) && (rv != NS_RDF_NO_VALUE) && (value)) { emptyVal = "false"; } aElement->SetAttribute(kNameSpaceID_None, kEmptyAtom, emptyVal, PR_TRUE); if(emptyVal.Equals("false")) return PR_TRUE; } return PR_FALSE;
return PR_TRUE;
RDFGenericBuilderImpl::IsContainer(nsIContent* aElement, nsIRDFResource* aResource, PRBool trackEmptyFlag){    // Look at all of the arcs extending _out_ of the resource: if any    // of them are that "containment" property, then we know we'll    // have children.    nsCOMPtr<nsISimpleEnumerator> arcs;    nsresult rv;    rv = mDB->ArcLabelsOut(aResource, getter_AddRefs(arcs));    NS_ASSERTION(NS_SUCCEEDED(rv), "unable to get arcs out");    if (NS_FAILED(rv))        return PR_FALSE;    while (1) {        PRBool hasMore;        rv = arcs->HasMoreElements(&hasMore);        NS_ASSERTION(NS_SUCCEEDED(rv), "severe error advancing cursor");        if (NS_FAILED(rv))            return PR_FALSE;        if (! hasMore)            break;        nsCOMPtr<nsISupports> isupports;        rv = arcs->GetNext(getter_AddRefs(isupports));        if (NS_FAILED(rv))            return PR_FALSE;        nsCOMPtr<nsIRDFResource> property = do_QueryInterface(isupports);        if (! IsContainmentProperty(aElement, property))            continue;	if (trackEmptyFlag == PR_TRUE)	{		// now that we know its a container, set its "empty" attribute		nsAutoString		emptyVal("true");		nsCOMPtr<nsIRDFNode>	value;		if (NS_SUCCEEDED(rv = mDB->GetTarget(aResource, property, PR_TRUE,			getter_AddRefs(value))) && (rv != NS_RDF_NO_VALUE) && (value))		{			emptyVal = "false";		}		aElement->SetAttribute(kNameSpaceID_None, kEmptyAtom, emptyVal, PR_TRUE);		if(emptyVal.Equals("false"))	        return PR_TRUE;	}        return PR_FALSE;    }    return PR_FALSE;}