code: protected String[] validateSubmittedValues(FacesContext context, UIInput component, Object[] oldValues, String... submittedValues)
              throws FacesException {
          List<String> validSubmittedValues = doValidateSubmittedValues(
                  context,
                  component,
                  oldValues,
                  getSelectItems(context, component),
                  submittedValues);
          return validSubmittedValues.toArray(new String[validSubmittedValues.size()]);
      }
docs: Restores checked, disabled select items (#3296) and checks if at least one disabled select item has been submitted -
  this may occur with client side manipulation (#3264)
  @return <code>newSubmittedValues</code> merged with checked, disabled <code>oldValues</code>
  @throws javax.faces.FacesException if client side manipulation has been detected, in order to reject the submission