docs: @SuppressWarnings("unchecked")
      public void commitValue(CmsWidgetDialog dialog) throws CmsException {
  
          if (m_baseCollection == null) {
              PropertyUtilsBean bean = new PropertyUtilsBean();
              ConvertUtilsBean converter = new ConvertUtilsBean();
              Object value = null;
              try {
                  Class<?> type = bean.getPropertyType(m_baseObject, m_baseObjectProperty);
                  value = converter.convert(m_value, type);
                  bean.setNestedProperty(m_baseObject, m_baseObjectProperty, value);
                  setError(null);
              } catch (InvocationTargetException e) {
                  setError(e.getTargetException());
                  throw new CmsWidgetException(
                      Messages.get().container(
                          Messages.ERR_PROPERTY_WRITE_3,
                          value,
                          dialog.keyDefault(A_CmsWidget.getLabelKey(this), getKey()),
                          m_baseObject.getClass().getName()),
                      e.getTargetException(),
                      this);
              } catch (Exception e) {
                  setError(e);
                  throw new CmsWidgetException(
                      Messages.get().container(
                          Messages.ERR_PROPERTY_WRITE_3,
                          value,
                          dialog.keyDefault(A_CmsWidget.getLabelKey(this), getKey()),
                          m_baseObject.getClass().getName()),
                      e,
                      this);
              }
          } else if (m_baseCollection instanceof SortedMap) {
              if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(m_value)) {
                  int pos = m_value.indexOf('=');
                  if ((pos > 0) && (pos < (m_value.length() - 1))) {
                      String key = m_value.substring(0, pos);
                      // it is assumed strings starting or ending with white-spaces are faulty inputs
                      String value = m_value.substring(pos + 1).trim();
                      @SuppressWarnings("rawtypes")
                      SortedMap map = (SortedMap)m_baseCollection;
                      if (map.containsKey(key)) {
                          Object val = map.get(key);
                          CmsWidgetException error = new CmsWidgetException(
                              Messages.get().container(
                                  Messages.ERR_MAP_DUPLICATE_KEY_3,
                                  dialog.keyDefault(A_CmsWidget.getLabelKey(this), getKey()),
                                  key,
                                  val),
                              this);
                          setError(error);
                          throw error;
                      }
                      map.put(key, value);
                  } else {
                      CmsWidgetException error = new CmsWidgetException(
                          Messages.get().container(
                              Messages.ERR_MAP_PARAMETER_FORM_1,
                              dialog.keyDefault(A_CmsWidget.getLabelKey(this), getKey())),
                          this);
                      setError(error);
                      throw error;
                  }
              }
          } else if (m_baseCollection instanceof List) {
              if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(m_value)) {
                  @SuppressWarnings("rawtypes")
                  List list = (List)m_baseCollection;
                  list.add(m_value);
              }
          }
      }