diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/ParameterField.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/ParameterField.java
index 467096418faf33cd359cfbd0416fc3672162b15f..4870020892b8b3b740a0dede3d9f70533bb14e3d 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/ParameterField.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/ParameterField.java
@@ -17,7 +17,6 @@
 package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 import com.extjs.gxt.ui.client.data.ModelData;
@@ -27,12 +26,9 @@ import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
 import com.extjs.gxt.ui.client.event.SelectionChangedListener;
 import com.extjs.gxt.ui.client.widget.MessageBox;
 import com.extjs.gxt.ui.client.widget.form.Field;
-import com.extjs.gxt.ui.client.widget.form.SimpleComboBox;
-import com.extjs.gxt.ui.client.widget.form.SimpleComboValue;
 import com.extjs.gxt.ui.client.widget.form.TriggerField;
 import com.google.gwt.user.client.Element;
 
-import ch.systemsx.cisd.common.shared.basic.utils.StringUtils;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames;
@@ -61,12 +57,6 @@ public class ParameterField extends TriggerField<ModelData> implements IParamete
 
     private static String QUERY_LIST_EXPRESSION_PREFIX = "query=";
 
-    private final String parameterName;
-
-    private final IDelegatedAction onValueChangeAction;
-
-    private final String initialValueOrNull;
-
     public static IParameterField create(IViewContext<?> viewContextOrNull, String parameterName,
             String initialValueOrNull, IDelegatedAction onValueChangeAction,
             IParameterValuesLoader loaderOrNull)
@@ -74,40 +64,41 @@ public class ParameterField extends TriggerField<ModelData> implements IParamete
         String[] split = parameterName.split(PARAMETER_NAME_SEPARATOR);
         if (split.length == 2)
         {
-            String namePart = split[0];
-            String expressionPart = split[1];
+            final String namePart = split[0];
+            final String expressionPart = split[1];
+            final String idSuffix = parameterName.replaceAll(" ", "_");
             if (expressionPart.startsWith(ENUM_LIST_EXPRESSION_PREFIX))
             {
                 String itemList = expressionPart.substring(ENUM_LIST_EXPRESSION_PREFIX.length());
                 String[] values = itemList.split(ENUM_LIST_SEPARATOR);
-                return createSelectionField(namePart, Arrays.asList(values), initialValueOrNull,
-                        onValueChangeAction);
+                List<ParameterValue> parameterValues = new ArrayList<ParameterValue>();
+                for (String value : values)
+                {
+                    parameterValues.add(new ParameterValue(value, null));
+                }
+                return ParameterSelectionDropDownList.createWithValues(parameterName, idSuffix,
+                        parameterValues, initialValueOrNull, onValueChangeAction);
             } else if (expressionPart.startsWith(QUERY_LIST_EXPRESSION_PREFIX))
             {
                 String queryExpression =
                         expressionPart.substring(QUERY_LIST_EXPRESSION_PREFIX.length());
-                return createSelectionField(viewContextOrNull, namePart, queryExpression,
-                        loaderOrNull, initialValueOrNull, onValueChangeAction);
+                return ParameterSelectionDropDownList.createWithLoader(parameterName,
+                        queryExpression, idSuffix, viewContextOrNull, loaderOrNull,
+                        initialValueOrNull, onValueChangeAction);
             } else
             {
                 MessageBox.alert("Error", "Filter parameter '" + namePart
                         + "' is not defined properly.", null);
-                return new ParameterField(namePart, onValueChangeAction, initialValueOrNull);
             }
         }
-
         return new ParameterField(parameterName, onValueChangeAction, initialValueOrNull);
     }
 
-    private static IParameterField createSelectionField(IViewContext<?> viewContextOrNull,
-            String parameterName, String queryExpression, IParameterValuesLoader loaderOrNull,
-            String initialValueOrNull, IDelegatedAction onValueChangeAction)
-    {
-        final String idSuffix = parameterName.replaceAll(" ", "_");
-        return ParameterSelectionDropDownList.create(parameterName, queryExpression, idSuffix,
-                parameterName, viewContextOrNull, loaderOrNull, true, initialValueOrNull,
-                onValueChangeAction);
-    }
+    private final String parameterName;
+
+    private final IDelegatedAction onValueChangeAction;
+
+    private final String initialValueOrNull;
 
     private ParameterField(String parameterName, IDelegatedAction onValueChangeAction,
             String initialValueOrNull)
@@ -156,84 +147,7 @@ public class ParameterField extends TriggerField<ModelData> implements IParamete
         onValueChangeAction.execute();
     }
 
-    private static ParameterSelectionField createSelectionField(String parameterName,
-            List<String> parameterValues, String initialValueOrNull,
-            IDelegatedAction onValueChangeAction)
-    {
-        return new ParameterSelectionField(parameterName, parameterValues, initialValueOrNull,
-                onValueChangeAction);
-    }
-
     // TODO 2010-10-13, Piotr Buczek: extract common code with ParameterField
-    private static class ParameterSelectionField extends SimpleComboBox<String> implements
-            IParameterField
-    {
-
-        private final String parameterName;
-
-        private final String initialValueOrNull;
-
-        private final IDelegatedAction onValueChangeAction;
-
-        ParameterSelectionField(final String parameterName, final List<String> values,
-                String initialValueOrNull, final IDelegatedAction onValueChangeAction)
-
-        {
-            this.parameterName = parameterName;
-            this.initialValueOrNull = initialValueOrNull;
-            this.onValueChangeAction = onValueChangeAction;
-            GWTUtils.setToolTip(this, parameterName);
-            GWTUtils.setupAutoWidth(this);
-            setEmptyText(emptyText);
-            setAllowBlank(false);
-            setAutoValidate(true);
-            setValidateOnBlur(true);
-            setWidth(100);
-            add(values);
-            getPropertyEditor().setList(store.getModels());
-
-            addSelectionChangedListener(new SelectionChangedListener<SimpleComboValue<String>>()
-                {
-                    @Override
-                    public void selectionChanged(SelectionChangedEvent<SimpleComboValue<String>> se)
-                    {
-                        onValueChangeAction.execute();
-                    }
-                });
-        }
-
-        @Override
-        public String getSimpleValue()
-        {
-            return StringUtils.trimToNull(super.getSimpleValue());
-        }
-
-        public Field<?> asWidget()
-        {
-            return this;
-        }
-
-        public ParameterWithValue getParameterWithValue()
-        {
-            return new ParameterWithValue(parameterName, getRawValue());
-        }
-
-        @Override
-        protected void onRender(Element target, int index)
-        {
-            super.onRender(target, index);
-            setRawValue(initialValueOrNull);
-        }
-
-        @Override
-        protected void onKeyUp(FieldEvent fe)
-        {
-            super.onKeyUp(fe);
-            onValueChangeAction.execute();
-        }
-
-    }
-
     private static class ParameterSelectionDropDownList extends
             DropDownList<ParameterValueModel, ParameterValue> implements IParameterField
     {
@@ -257,57 +171,50 @@ public class ParameterField extends TriggerField<ModelData> implements IParamete
         private final IDelegatedAction onValueChangeAction;
 
         /**
-         * Allows to choose one of the specified values, is able to refresh the available values by
-         * calling the server.
-         * 
-         * @param onValueChangeAction
+         * Allows to choose one of the values received from server.
          */
-        public static IParameterField create(final String parameterName, String queryExpression,
-                String idSuffix, String label, IViewContext<?> viewContextOrNull,
-                IParameterValuesLoader loader, final boolean mandatory, String initialValueOrNull,
+        public static IParameterField createWithLoader(final String parameterName,
+                String queryExpression, String idSuffix, IViewContext<?> viewContextOrNull,
+                IParameterValuesLoader loader, String initialValueOrNull,
                 IDelegatedAction onValueChangeAction)
         {
-            return new ParameterSelectionDropDownList(parameterName, idSuffix, label, mandatory,
-                    loader, queryExpression, viewContextOrNull, null, initialValueOrNull,
-                    onValueChangeAction);
+            return new ParameterSelectionDropDownList(parameterName, idSuffix, viewContextOrNull,
+                    loader, queryExpression, null, initialValueOrNull, onValueChangeAction);
         }
 
         /**
          * Allows to choose one of the specified values.
          */
-        @SuppressWarnings("unused")
-        public ParameterSelectionDropDownList(final String parameterName, String idSuffix,
-                String label, final boolean mandatory, List<ParameterValue> initialValuesOrNull,
-                String initialValueOrNull)
+        public static IParameterField createWithValues(final String parameterName, String idSuffix,
+                List<ParameterValue> initialValues, String initialValueOrNull,
+                IDelegatedAction onValueChangeAction)
         {
-            this(parameterName, idSuffix, label, mandatory, null, null, null, initialValuesOrNull,
-                    initialValueOrNull, null);
+            return new ParameterSelectionDropDownList(parameterName, idSuffix, null, null, null,
+                    initialValues, initialValueOrNull, onValueChangeAction);
         }
 
         protected ParameterSelectionDropDownList(final String parameterName, String idSuffix,
-                String label, boolean mandatory, IParameterValuesLoader loaderOrNull,
-                String queryExpressionOrNull, IViewContext<?> viewContextOrNull,
-                List<ParameterValue> valuesOrNull, String initialValueOrNull,
-                final IDelegatedAction onValueChangeAction)
+                IViewContext<?> viewContextOrNull, IParameterValuesLoader loaderOrNull,
+                String queryExpressionOrNull, List<ParameterValue> valuesOrNull,
+                String initialValueOrNull, final IDelegatedAction onValueChangeAction)
         {
-            super(idSuffix, ModelDataPropertyNames.CODE, label, CHOOSE_MSG, EMPTY_MSG,
-                    VALUE_NOT_IN_LIST_MSG, mandatory, viewContextOrNull, valuesOrNull == null);
+            super(idSuffix, ModelDataPropertyNames.CODE, parameterName, CHOOSE_MSG, EMPTY_MSG,
+                    VALUE_NOT_IN_LIST_MSG, true, viewContextOrNull, valuesOrNull == null);
             this.parameterName = parameterName;
             this.queryExpressionOrNull = queryExpressionOrNull;
             this.viewContextOrNull = viewContextOrNull;
             this.loaderOrNull = loaderOrNull;
             this.initialValueOrNull = initialValueOrNull;
             this.onValueChangeAction = onValueChangeAction;
-            FieldUtil.setMandatoryFlag(this, mandatory);
-            setAllowBlank(mandatory == false);
             if (valuesOrNull != null)
             {
                 setValues(valuesOrNull);
             }
             setTemplate(GWTUtils.getTooltipTemplate(ModelDataPropertyNames.CODE,
                     ModelDataPropertyNames.TOOLTIP));
-            setWidth(100);
+            FieldUtil.setMandatoryFlag(this, true);
             setAllowValueNotFromList(true);
+            setWidth(100);
 
             addSelectionChangedListener(new SelectionChangedListener<ParameterValueModel>()
                 {