@Override protected AbstractMultiSelect<ITEM> buildInternalField(Class<? extends Set<T>> type) { RenderingMode mode = getRenderingMode(); if (mode == null) { mode = RenderingMode.OPTIONS; } if (mode == RenderingMode.OPTIONS) { final CheckBoxGroup<ITEM> field = new CheckBoxGroup<>(); field.setItemCaptionGenerator(i -> generateItemCaption(i)); field.setItemIconGenerator(i -> generateItemIcon(i)); field.setItemDescriptionGenerator(i -> generateItemDescription(i)); field.addSelectionListener(e -> fireSelectionListeners(buildSelectionEvent(e))); return field; } final ListSelect<ITEM> field = new ListSelect<>(); field.setItemCaptionGenerator(i -> generateItemCaption(i)); field.addSelectionListener(e -> fireSelectionListeners(buildSelectionEvent(e))); return field; }