docs: void submitForm(CmsForm formParam, final Map<String, String> fieldValues, Set<String> editedFields) {
  
          String modelGroupId = null;
  
          if (CmsInheritanceContainerEditor.getInstance() != null) {
              CmsInheritanceContainerEditor.getInstance().onSettingsEdited();
          }
          if (m_contextsWidget != null) {
              String newTemplateContexts = m_contextsWidget.getFormValueAsString();
              if ((newTemplateContexts == null) || "".equals(newTemplateContexts)) {
                  newTemplateContexts = CmsTemplateContextInfo.EMPTY_VALUE;
                  // translate an empty selection to "none"
              }
              fieldValues.put(CmsTemplateContextInfo.SETTING, newTemplateContexts);
          }
          final boolean hasFormatterChanges;
          if (m_formatterSelect != null) {
              fieldValues.put(
                  CmsFormatterConfig.getSettingsKeyForContainer(m_containerId),
                  m_formatterSelect.getFormValueAsString());
              hasFormatterChanges = true;
          } else {
              hasFormatterChanges = false;
          }
          if (m_createNewCheckBox != null) {
              m_elementWidget.setCreateNew(m_createNewCheckBox.isChecked());
              fieldValues.put(CmsContainerElement.CREATE_AS_NEW, Boolean.toString(m_createNewCheckBox.isChecked()));
          }
          if (m_modelGroupSelect != null) {
              GroupOption group = GroupOption.valueOf(m_modelGroupSelect.getFormValueAsString());
              switch (group) {
                  case disabled:
                      fieldValues.put(CmsContainerElement.MODEL_GROUP_STATE, ModelGroupState.noGroup.name());
                      fieldValues.put(CmsContainerElement.USE_AS_COPY_MODEL, Boolean.toString(false));
                      break;
                  case copy:
                      fieldValues.put(CmsContainerElement.MODEL_GROUP_STATE, ModelGroupState.isModelGroup.name());
                      fieldValues.put(CmsContainerElement.USE_AS_COPY_MODEL, Boolean.toString(true));
                      break;
                  case reuse:
                      fieldValues.put(CmsContainerElement.MODEL_GROUP_STATE, ModelGroupState.isModelGroup.name());
                      fieldValues.put(CmsContainerElement.USE_AS_COPY_MODEL, Boolean.toString(false));
                      break;
                  default:
                      break;
              }
              if (group != GroupOption.disabled) {
                  modelGroupId = CmsContainerpageController.getServerId(m_elementBean.getClientId());
              }
          }
  
          if ((m_modelGroupBreakUp != null) && m_modelGroupBreakUp.isChecked()) {
              fieldValues.put(CmsContainerElement.MODEL_GROUP_STATE, ModelGroupState.noGroup.name());
          }
  
          final Map<String, String> filteredFieldValues = new HashMap<String, String>();
          for (Map.Entry<String, String> entry : fieldValues.entrySet()) {
              String key = entry.getKey();
              String value = entry.getValue();
              if ((value != null) && (value.length() > 0)) {
                  filteredFieldValues.put(key, value);
              }
          }
          final String changeModelGroupId = modelGroupId;
          m_controller.reloadElementWithSettings(
              m_elementWidget,
              m_elementBean.getClientId(),
              filteredFieldValues,
              new I_CmsSimpleCallback<CmsContainerPageElementPanel>() {
  
                  public void execute(CmsContainerPageElementPanel result) {
  
                      if (isTemplateContextChanged()) {
                          // if the context multiselect box isn't displayed, of course it can't change values,
                          // and this code won't be executed.
                          CmsContainerpageController.get().handleChangeTemplateContext(
                              result,
                              filteredFieldValues.get(CmsTemplateContextInfo.SETTING));
                      }
                      if (hasFormatterChanges) {
                          updateCss();
                      }
                      if (result.getElement().getInnerHTML().contains(CmsGwtConstants.FORMATTER_RELOAD_MARKER)
                          && !CmsContainerpageController.get().isGroupcontainerEditing()) {
                          CmsContainerpageController.get().reloadPage();
                      }
                      if (m_modelGroupSelect != null) {
                          m_controller.setModelGroupElementId(changeModelGroupId);
                      }
                  }
  
              });
      }