code: protected void renderOption(FacesContext context, SelectOneMenu menu, ResponseWriter rw, SelectItem selectItem,
  			int index, UIComponent itemComponent, boolean isSelected) throws IOException {
  
  		String itemLabel = selectItem.getLabel();
  		final String description = selectItem.getDescription();
  		final Object itemValue = selectItem.getValue();
  
  		renderOption(context, menu, rw, index, itemLabel, description, itemValue, selectItem.isDisabled(),
  				selectItem.isEscape(), itemComponent, isSelected);
  	}
docs: Renders a single &lt;option&gt; tag. For some reason, <code>SelectItem</code>
  and <code>UISelectItem</code> don't share a common interface, so this method
  is repeated twice.
  
  @param rw
  The response writer
  @param selectItem
  The current SelectItem
  @throws IOException
  thrown if something's wrong with the response writer