if (tag.get() != kTreeColAtom)	continue;  if (NS_SUCCEEDED(rv = NodeHasSortInfo(child, sortResource, sortDirection, sortResource2, inbetweenSeparatorSort, found)) && (found == PR_TRUE))
if (tag.get() == kTreeColGroupAtom)
XULSortServiceImpl::GetSortColumnInfo(nsIContent *tree, nsString &sortResource,			nsString &sortDirection, nsString &sortResource2, PRBool &inbetweenSeparatorSort){        nsCOMPtr<nsIContent>	child;	PRBool			found = PR_FALSE;	PRInt32			childIndex, nameSpaceID, numChildren;	nsresult		rv;	if (NS_SUCCEEDED(rv = NodeHasSortInfo(tree, sortResource, sortDirection,		sortResource2, inbetweenSeparatorSort, found)) && (found == PR_TRUE))	{	}	else	{		if (NS_FAILED(rv = tree->ChildCount(numChildren)))	return(rv);		for (childIndex=0; childIndex<numChildren; childIndex++)		{			if (NS_FAILED(rv = tree->ChildAt(childIndex, *getter_AddRefs(child))))	return(rv);			if (NS_FAILED(rv = child->GetNameSpaceID(nameSpaceID)))		return(rv);			if (nameSpaceID != kNameSpaceID_XUL)				continue;			nsCOMPtr<nsIAtom> tag;			if (NS_FAILED(rv = child->GetTag(*getter_AddRefs(tag))))	return(rv);			if (tag.get() != kTreeColAtom)	continue;			if (NS_SUCCEEDED(rv = NodeHasSortInfo(child, sortResource, sortDirection,				sortResource2, inbetweenSeparatorSort, found)) && (found == PR_TRUE))			{				break;			}		}		SetSortHints(tree, sortResource, sortDirection, sortResource2, inbetweenSeparatorSort, found);	}	return((found == PR_TRUE) ? NS_OK : NS_ERROR_FAILURE);}