for (final FieldInfo fieldInfo : fieldInfoObjects) {
final Property property = fieldInfo.getPropertyAnnotation();
Control createdControl = null;
CustomPropertyField createdCustomPropertyField = null;
switch (property.type()) {
case TEXT:
createdCustomPropertyField = new CustomPropertyTextField(this, serviceTask, fieldInfo.getField());
createdControl = createdCustomPropertyField.render(workParent, factory, listener);
data = new FormData();
data.top = new FormAttachment(previousAnchor, VSPACE);
data.left = new FormAttachment(0, LABEL_COLUMN_WIDTH);
data.right = new FormAttachment(100, -HELP_COLUMN_WIDTH);
createdControl.setLayoutData(data);
break;
case MULTILINE_TEXT:
createdCustomPropertyField = new CustomPropertyMultilineTextField(this, serviceTask, fieldInfo.getField());
createdControl = createdCustomPropertyField.render(workParent, factory, listener);
data = new FormData();
data.top = new FormAttachment(previousAnchor, VSPACE);
data.left = new FormAttachment(0, LABEL_COLUMN_WIDTH);
data.right = new FormAttachment(100, -HELP_COLUMN_WIDTH);
data.height = 80;
createdControl.setLayoutData(data);
break;
case PERIOD:
createdCustomPropertyField = new CustomPropertyPeriodField(this, serviceTask, fieldInfo.getField());
createdControl = createdCustomPropertyField.render(workParent, factory, listener);
data = new FormData();
data.top = new FormAttachment(previousAnchor, VSPACE);
data.left = new FormAttachment(0, LABEL_COLUMN_WIDTH);
data.right = new FormAttachment(100, -HELP_COLUMN_WIDTH);
createdControl.setLayoutData(data);
break;
case BOOLEAN_CHOICE:
createdCustomPropertyField = new CustomPropertyBooleanChoiceField(this, serviceTask, fieldInfo.getField());
createdControl = createdCustomPropertyField.render(workParent, factory, listener);
data = new FormData();
data.top = new FormAttachment(previousAnchor, VSPACE);
data.left = new FormAttachment(0, LABEL_COLUMN_WIDTH);
data.right = new FormAttachment(100, -HELP_COLUMN_WIDTH);
createdControl.setLayoutData(data);
break;
case COMBOBOX_CHOICE:
createdCustomPropertyField = new CustomPropertyComboboxChoiceField(this, serviceTask, fieldInfo.getField());
createdControl = createdCustomPropertyField.render(workParent, factory, listener);
data = new FormData();
data.top = new FormAttachment(previousAnchor, VSPACE);
data.left = new FormAttachment(0, LABEL_COLUMN_WIDTH);
data.right = new FormAttachment(100, -HELP_COLUMN_WIDTH);
createdControl.setLayoutData(data);
break;
case RADIO_CHOICE:
createdCustomPropertyField = new CustomPropertyRadioChoiceField(this, serviceTask, fieldInfo.getField());
createdControl = createdCustomPropertyField.render(workParent, factory, listener);
data = new FormData();
data.top = new FormAttachment(previousAnchor, VSPACE);
data.left = new FormAttachment(0, LABEL_COLUMN_WIDTH);
data.right = new FormAttachment(100, -HELP_COLUMN_WIDTH);
createdControl.setLayoutData(data);
break;
case DATE_PICKER:
createdCustomPropertyField = new CustomPropertyDatePickerField(this, serviceTask, fieldInfo.getField());
createdControl = createdCustomPropertyField.render(workParent, factory, listener);
data = new FormData();
data.top = new FormAttachment(previousAnchor, VSPACE);
data.left = new FormAttachment(0, LABEL_COLUMN_WIDTH);
data.right = new FormAttachment(100, -HELP_COLUMN_WIDTH);
createdControl.setLayoutData(data);