nsFormControlList::NamedItem(const nsString& aName, nsIDOMNode** aReturn)
nsFormControlList::NamedItem(const nsAReadableString& aName, nsIDOMNode** aReturn)
nsFormControlList::NamedItem(const nsString& aName, nsIDOMNode** aReturn){  NS_ENSURE_ARG_POINTER(aReturn);  nsresult rv = NS_OK;  nsStringKey key(aName);  nsCOMPtr<nsISupports> supports;  *aReturn = nsnull;  if (mLookupTable) {    supports = dont_AddRef((nsISupports *)mLookupTable->Get(&key));  }  if (supports) {    // We found something, check if it's a node    rv = supports->QueryInterface(NS_GET_IID(nsIDOMNode), (void **)aReturn);    if (NS_FAILED(rv)) {      // If not, we check if it's a node list.      nsCOMPtr<nsIDOMNodeList> nodeList(do_QueryInterface(supports, &rv));      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;}