Como rellenar una Select con DWR

Parte JAVA:
public class KeyValue {

private String key;
private String value;
private String option;
}

public class MiDWR {

public List getListaSelect(){
List salida = new ArrayList();
int cont = 10;

for(int i=0; i<cont; i++){
salida.add(new KeyValue("key", "value", "option"));
//repetir la linea antrior tantos elementos como queramos para la Select
}
return salida;
}
}


Parte HTML:
.....
<select id="select2Id" name="select2Name" size="10"></select>
.....

Parte javascript:
function llamaDWRLista(){
var eSelect = document.f1.select2Name;
//var eSelect = document.getElementsByName("select2Name")[0];
//var eSelect = document.getElementById("select2Id");
MiDWR.getListaSelect({callback:function(data) {

for(var i=0;i<data.length;i++){
var eKeyValue = data[i];
var eOption = new Option(eKeyValue.value, eKeyValue.key);
eSelect.options[i] = eOption;
//condición que irá en la property option
if(eKeyValue.option == "option"){
eSelect.options[i].style.color = "FFFFFF";
eSelect.options[i].style.backgroundColor = "red";
}
}
}});
}

Referencias: http://www.desarrolloweb.com/articulos/1489.php