code: void setValue(String optionValue) {
        if (StringUtils.isNullOrBlank(optionValue) && isBoolean()) {
  
           this.value = true;
  
        } else if (!StringUtils.isNullOrBlank(optionValue)) {
  
           if (Collection.class.isAssignableFrom(type)) {
  
              Class<?> genericType = field == null
                                     ? String.class
                                     : (Class<?>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0];
              this.value = Convert.convert(optionValue, type, genericType);
  
           } else if (Map.class.isAssignableFrom(type)) {
  
              Class<?> keyType = field == null
                                 ? String.class
                                 : (Class<?>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0];
              Class<?> valueType = field == null
                                   ? String.class
                                   : (Class<?>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[1];
              this.value = Convert.convert(optionValue, type, keyType, valueType);
  
           } else {
  
              this.value = Convert.convert(optionValue, type);
  
           }
  
        }
  
  
     }
docs: Sets the value of the option.
  
  @param optionValue the option value