docs: void renderSettingsForm(
          Map<String, CmsXmlContentProperty> settingsConfig,
          Map<String, String> nestedFormatterPrefixes) {
  
          Map<String, String> presets = m_presets;
          if (presets == null) {
              presets = new HashMap<String, String>();
          }
          List<String> groups = new ArrayList<String>(getForm().getGroups());
          for (String group : groups) {
              getForm().removeGroup(group);
          }
  
          CmsFieldsetFormFieldPanel formFieldPanel = null;
          if (getForm().getWidget() instanceof CmsFieldsetFormFieldPanel) {
              formFieldPanel = ((CmsFieldsetFormFieldPanel)getForm().getWidget());
          }
          if ((formFieldPanel != null) && (nestedFormatterPrefixes != null) && !nestedFormatterPrefixes.isEmpty()) {
              for (Entry<String, String> entry : nestedFormatterPrefixes.entrySet()) {
                  CmsFieldSet fieldSet = new CmsFieldSet();
                  fieldSet.setLegend(entry.getValue());
                  fieldSet.getElement().getStyle().setMarginTop(10, Style.Unit.PX);
                  formFieldPanel.addGroupFieldSet(entry.getKey(), fieldSet);
              }
          }
          // using LinkedHashMap to preserve the order
          Map<String, I_CmsFormField> formFields = new LinkedHashMap<String, I_CmsFormField>();
          for (CmsXmlContentProperty propConfig : settingsConfig.values()) {
              if (m_presets.containsKey(propConfig.getName())) {
                  // settings configured as presets on the container are not user-editable
                  continue;
              }
              CmsBasicFormField currentField = CmsBasicFormField.createField(
                  propConfig,
                  propConfig.getName(),
                  this,
                  Collections.<String, String> emptyMap(),
                  false);
              formFields.put(propConfig.getName(), currentField);
  
          }
          for (I_CmsFormField field : formFields.values()) {
  
              String fieldId = field.getId();
              CmsXmlContentProperty propDef = settingsConfig.get(fieldId);
              // skip hidden fields
              if (!HIDDEN_FIELD_WIDGET.equals(propDef.getWidget())) {
                  String initialValue = m_settings.get(fieldId);
                  if (initialValue == null) {
  
                      initialValue = propDef.getDefault();
                  }
                  String group = "";
                  if ((nestedFormatterPrefixes != null) && !nestedFormatterPrefixes.isEmpty()) {
                      for (String prefix : nestedFormatterPrefixes.keySet()) {
                          if (fieldId.startsWith(prefix)) {
                              group = prefix;
                              break;
                          }
                      }
                  }
  
                  getForm().addField(group, field, initialValue);
              }
          }
          getForm().render();
          truncateForm();
      }