docs: private void saveToXmlVfsBundle() throws CmsException {
  
          if (m_lockedBundleFiles.get(null) != null) { // If the file was not locked, no changes were made, i.e., storing is not necessary.
              for (Locale l : m_locales) {
                  SortedProperties props = m_localizations.get(l);
                  if (null != props) {
                      if (m_xmlBundle.hasLocale(l)) {
                          m_xmlBundle.removeLocale(l);
                      }
                      m_xmlBundle.addLocale(m_cms, l);
                      int i = 0;
                      List<Object> keys = new ArrayList<Object>(props.keySet());
                      Collections.sort(keys, CmsCaseInsensitiveStringComparator.getInstance());
                      for (Object key : keys) {
                          if ((null != key) && !key.toString().isEmpty()) {
                              String value = props.getProperty(key.toString());
                              if (!value.isEmpty()) {
                                  m_xmlBundle.addValue(m_cms, "Message", l, i);
                                  i++;
                                  m_xmlBundle.getValue("Message[" + i + "]/Key", l).setStringValue(m_cms, key.toString());
                                  m_xmlBundle.getValue("Message[" + i + "]/Value", l).setStringValue(m_cms, value);
                              }
                          }
                      }
                  }
                  CmsFile bundleFile = m_lockedBundleFiles.get(null).getFile();
                  bundleFile.setContents(m_xmlBundle.marshal());
                  m_cms.writeFile(bundleFile);
              }
          }
      }