*aReturn = nsnull;  PRUint32 length = 0; GetLength(&length);  nsresult rv = NS_OK; if (aIndex < (PRInt32)length) { rv = mElements->QueryElementAt(aIndex, NS_GET_IID(nsIDOMHTMLOptionElement), (void**)aReturn); }  return rv;
return mElements.SafeObjectAt(aIndex);
nsHTMLOptionCollection::ItemAsOption(PRInt32 aIndex,                                     nsIDOMHTMLOptionElement **aReturn){  *aReturn = nsnull;  PRUint32 length = 0;  GetLength(&length);  nsresult rv = NS_OK;  if (aIndex < (PRInt32)length) {    rv = mElements->QueryElementAt(aIndex,                                   NS_GET_IID(nsIDOMHTMLOptionElement),                                   (void**)aReturn);  }  return rv;}