item = select.addItem("two");
item.getItemProperty("caption").setValue("Two");
select.setItemCaptionPropertyId("caption");
select.setNullSelectionAllowed(false);
select.setImmediate(true);
select.addValueChangeListener(new Property.ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
log.log("Item " + select.getValue() + " selected");
}