@Override public void decode(FacesContext context, UIComponent component) { UISelectMany selectMany = (UISelectMany) component; if (!shouldDecode(selectMany)) { return; } String submitParam = getSubmitParam(context, selectMany); Map<String, String[]> params = context.getExternalContext().getRequestParameterValuesMap(); String[] submittedValues = params.containsKey(submitParam) ? params.get(submitParam) : new String[0]; submittedValues = validateSubmittedValues(context, selectMany, (Object[]) getValues(selectMany), submittedValues); selectMany.setSubmittedValue(submittedValues); decodeBehaviors(context, selectMany); }