class FormEditorPresenter extends KieEditor<FormModelerContent> {

    protected void addAllDraggableGroupComponent(Collection<FieldDefinition> fields) {
        String groupId = translationService.getTranslation(FormEditorConstants.FormEditorPresenterModelFields);

        Iterator<FieldDefinition> it = fields.iterator();
        while (it.hasNext()) {
            FieldDefinition field = it.next();
            EditorFieldLayoutComponent layoutFieldComponent = editorFieldLayoutComponents.get();

            if (layoutFieldComponent != null) {
                layoutFieldComponent.init(editorHelper.getRenderingContext(),
                                          field);
                layoutDragComponentPalette.addDraggableComponent(groupId,
                                                                 field.getId(),
                                                                 layoutFieldComponent);
            }
        }
    }

    @Inject public  FormEditorPresenter(FormEditorView view,
                               ChangesNotificationDisplayer changesNotificationDisplayer,
                               FormDefinitionResourceType resourceType,
                               Caller<FormEditorService> editorService,
                               TranslationService translationService,
                               ManagedInstance<EditorFieldLayoutComponent> editorFieldLayoutComponents,
                               ShowAssetUsagesDisplayer showAssetUsagesDisplayer,
                               ErrorMessageDisplayer errorMessageDisplayer,
                               LayoutEditorPropertiesPresenter layoutEditorPropertiesPresenter);

}