class MultipleSelectorFieldRenderer extends FieldRenderer<AbstractMultipleSelectorFieldDefinition, DefaultFormGroup> implements RequiresValueConverter {

    @Override
    protected FormGroup getFormGroup(RenderMode renderMode) {

        DefaultFormGroup formGroup = formGroupsInstance.get();

        final List<TYPE> values = field.getListOfValues();

        selector.init(searchService,
                      new MultipleLiveSearchSelectionHandler<>(field.getMaxElementsOnTitle()));
        selector.setMaxItems(field.getMaxDropdownElements());
        selector.setEnabled(!field.getReadOnly() && renderingContext.getRenderMode().equals(RenderMode.EDIT_MODE));
        selector.setFilterEnabled(field.getAllowFilter());
        selector.setClearSelectionEnabled(field.getAllowClearSelection());

        if (renderMode.equals(RenderMode.PRETTY_MODE)) {
            selector.setEnabled(false);
        }

        formGroup.render(selector.asWidget(),
                         field);

        return formGroup;
    }

    @Inject public  MultipleSelectorFieldRenderer(MultipleSelectorInput<TYPE> selector,
                                         TranslationService translationService);

}