tree->UnsetAttr(kNameSpaceID_None, kSortResourceAtom, PR_FALSE); tree->UnsetAttr(kNameSpaceID_None, kSortResource2Atom, PR_FALSE);
tree->UnsetAttr(kNameSpaceID_None, nsXULAtoms::sortResource, PR_FALSE); tree->UnsetAttr(kNameSpaceID_None, nsXULAtoms::sortResource2, PR_FALSE);
XULSortServiceImpl::SetSortHints(nsIContent *tree, const nsAString &sortResource,                                 const nsAString &sortDirection, const nsAString &sortResource2,                                 PRBool inbetweenSeparatorSort, PRBool found){  if (found) {    // set hints on tree root node    tree->SetAttr(kNameSpaceID_None, nsXULAtoms::sortActive, *kTrueStr, PR_FALSE);    tree->SetAttr(kNameSpaceID_None, nsXULAtoms::sortDirection, sortDirection, PR_FALSE);    tree->SetAttr(kNameSpaceID_None, kSortResourceAtom, sortResource, PR_FALSE);    if (!sortResource2.IsEmpty())      tree->SetAttr(kNameSpaceID_None, kSortResource2Atom, sortResource2, PR_FALSE);    else      tree->UnsetAttr(kNameSpaceID_None, kSortResource2Atom, PR_FALSE);  } else {    tree->UnsetAttr(kNameSpaceID_None, nsXULAtoms::sortActive, PR_FALSE);    tree->UnsetAttr(kNameSpaceID_None, nsXULAtoms::sortDirection, PR_FALSE);    tree->UnsetAttr(kNameSpaceID_None, kSortResourceAtom, PR_FALSE);    tree->UnsetAttr(kNameSpaceID_None, kSortResource2Atom, PR_FALSE);  }  // optional hint  if (inbetweenSeparatorSort == PR_TRUE)    tree->SetAttr(kNameSpaceID_None, kSortSeparatorsAtom, *kTrueStr, PR_FALSE);  else    tree->UnsetAttr(kNameSpaceID_None, kSortSeparatorsAtom, PR_FALSE);  SetSortColumnHints(tree, sortResource, sortDirection);  return NS_OK;}