nsCOMPtr<nsISupports> supports(dont_AddRef(mNameLookupTable.Get(&key)));
*aReturn = mNameLookupTable.Get(&key);
nsFormControlList::NamedItem(const nsAReadableString& aName,                             nsIDOMNode** aReturn){  NS_ENSURE_ARG_POINTER(aReturn);  *aReturn = nsnull;  nsresult rv = NS_OK;  nsStringKey key(aName);  nsCOMPtr<nsISupports> supports(dont_AddRef(mNameLookupTable.Get(&key)));  if (supports) {    // We found something, check if it's a node    CallQueryInterface(supports, aReturn);    if (!*aReturn) {      // If not, we check if it's a node list.      nsCOMPtr<nsIDOMNodeList> nodeList(do_QueryInterface(supports));      NS_WARN_IF_FALSE(nodeList, "Huh, what's going one here?");      if (nodeList) {        // And since we're only asking for one node here, we return the first        // one from the list.        rv = nodeList->Item(0, aReturn);      }    }  }  return rv;}