Duvida HtmlSelectOneMenu

Tenho uma duvida, hoje tenho um HtmlSelectOneMenu que uso pra alimentar a lista de itens dele um UISelectItems, passando assim:

itensCombo = new UISelectItems();
itensCombo.setValue(lista); // esse lista é um ArrayList<String>

HtmlSelectOneMenu combo = (HtmlSelectOneMenu) app
				.createComponent(HtmlSelectOneMenu.COMPONENT_TYPE);
combo.getChildren().add(itensCombo);

mas na hora da gravaçao, o que me resta é somente o texto desse item.
O que eu gostaria era de saber se existe uma forma de cada item ter um identificador para ele, comos e fosse o codigo e a descriçao de uma tabela

item = descriçao
identificador = codigo;

para quando eu for gravar nao ter que ficar procurando pelo texto e sim direto pelo codigo dele (que obviamente isso geraria muitos erros na gravaçao).

Obrigado