private CheckBox createSelected(final Object itemId) { final CheckBox c = new CheckBox(); c.setBuffered(false); c.setImmediate(true); c.addValueChangeListener( new ValueChangeListener() { @Override public void valueChange(Property.ValueChangeEvent event) { Collection<Field<?>> fields = Collections2.filter( getFieldsForItemId(itemId), new Predicate<Field<?>>() { @Override public boolean apply(Field<?> eachField) { return eachField != c; } }); enableFields(fields, c.getValue()); } }); c.addValueChangeListener(validateOnValueChangeListener); return c; }