code: protected void renderOptions(FacesContext context, ResponseWriter rw, SelectOneMenu menu) throws IOException {
  		Converter converter = menu.getConverter();
  		List<SelectItemAndComponent> items = SelectItemUtils.collectOptions(context, menu, converter);
  		
  		SelectItemAndComponent selection = determineSelectedItem(context, menu, items, converter);
  
  		for (int index = 0; index < items.size(); index++) {
  			SelectItemAndComponent option = items.get(index);
  
  			if (option.getSelectItem().isNoSelectionOption() && 
  					menu.isHideNoSelectionOption() && selection != null)
  				continue;
  			
  			renderOption(context, menu, rw, (option.getSelectItem()), index, option.getComponent(), 
  					option == selection || (selection == null && option.getSelectItem().isNoSelectionOption()));
  		}
  	}
docs: Parts of this class are an adapted version of InputRenderer#getSelectItems()
  of PrimeFaces 5.1.
  
  @param rw
  @throws IOException