form.setItemDataSource(item);
form.setCaption("Edit Task");
form.setVisibleItemProperties(VISIBLE_COLUMNS);
form.setImmediate(true);
form.addListener(new Property.ValueChangeListener() {
public void valueChange(ValueChangeEvent event) {
@SuppressWarnings("unchecked")
BeanItem<Task> item = (BeanItem<Task>) form.getItemDataSource();
taskService.updateTask(item.getBean());
}