if (mDirty && (nsnull != mSelect)) { GetOptions(); } PRUint32 length = 0; GetLength(&length); if (aIndex >= length) { *aReturn = nsnull; } else { *aReturn = (nsIDOMNode*)mElements.ElementAt(aIndex); NS_ADDREF(*aReturn); } return NS_OK;
return mOptions->Item(aIndex, aReturn);
nsOptionList::Item(PRUint32 aIndex, nsIDOMNode** aReturn){  if (mDirty && (nsnull != mSelect)) {    GetOptions();  }  PRUint32 length = 0;  GetLength(&length);  if (aIndex >= length) {    *aReturn = nsnull;  } else {    *aReturn = (nsIDOMNode*)mElements.ElementAt(aIndex);    NS_ADDREF(*aReturn);  }  return NS_OK;}