docs: @SuppressWarnings("null")
      private boolean saveSettings(
          CmsEntity entity,
          CmsContainerElementBean containerElement,
          Map<String, CmsXmlContentProperty> settingsConfig,
          List<I_CmsFormatterBean> nestedFormatters) {
  
          boolean hasChangedSettings = false;
          Map<String, String> values = new HashMap<>(containerElement.getIndividualSettings());
          for (Entry<String, CmsXmlContentProperty> settingsEntry : settingsConfig.entrySet()) {
              String value = null;
              boolean nested = false;
              if (nestedFormatters != null) {
                  for (I_CmsFormatterBean formatter : nestedFormatters) {
                      if (settingsEntry.getKey().startsWith(formatter.getId())) {
  
                          CmsEntity nestedEntity = null;
                          CmsEntityAttribute attribute = entity.getAttribute(getSettingsAttributeName(formatter.getId()));
                          if (attribute != null) {
                              nestedEntity = attribute.getComplexValue();
                              CmsEntityAttribute valueAttribute = nestedEntity.getAttribute(
                                  getSettingsAttributeName(settingsEntry.getKey()));
                              if (valueAttribute != null) {
                                  value = valueAttribute.getSimpleValue();
                              }
                          }
                          nested = true;
                          break;
                      }
                  }
              }
              if (!nested) {
                  CmsEntityAttribute valueAttribute = entity.getAttribute(
                      getSettingsAttributeName(settingsEntry.getKey()));
                  if (valueAttribute != null) {
                      value = valueAttribute.getSimpleValue();
                  }
              }
              if (CmsStringUtil.isEmptyOrWhitespaceOnly(value)
                  && !HIDDEN_SETTINGS_WIDGET_NAME.equals(settingsEntry.getValue().getWidget())
                  && values.containsKey(settingsEntry.getKey())) {
                  values.remove(settingsEntry.getKey());
                  hasChangedSettings = true;
              } else if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(value)
                  && !HIDDEN_SETTINGS_WIDGET_NAME.equals(settingsEntry.getValue().getWidget())
                  && !value.equals(values.get(settingsEntry.getKey()))) {
                  values.put(settingsEntry.getKey(), value);
                  hasChangedSettings = true;
              }
          }
          if (hasChangedSettings) {
              containerElement.updateIndividualSettings(values);
              getSessionCache().setCacheContainerElement(containerElement.editorHash(), containerElement);
          }
          return hasChangedSettings;
      }