final NativeSelect select = new NativeSelect(caption);
select.addContainerProperty(CAPTION, String.class, "");
select.addContainerProperty(VALUE, Object.class, "");
select.setItemCaptionPropertyId(CAPTION);
select.setNullSelectionAllowed(false);
select.addListener(new Property.ValueChangeListener() {
@Override
public void valueChange(ValueChangeEvent event) {
Object itemId = event.getProperty().getValue();
Item item = select.getItem(itemId);