docs: private void generateFormats() {
  
          m_formats = new LinkedHashMap<String, I_CmsFormatRestriction>();
          for (int i = 0; i < m_formatValues.length; i++) {
              String value = m_formatValues[i].trim();
  
              if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(value)) {
                  String label = value;
                  String key = value;
                  if ((m_formatNames != null)
                      && (m_formatNames.length > i)
                      && CmsStringUtil.isNotEmptyOrWhitespaceOnly(m_formatNames[i])) {
                      int pos = m_formatNames[i].indexOf(":");
                      if (pos > 0) {
                          label = m_formatNames[i].substring(pos + 1, m_formatNames[i].length());
                          key = m_formatNames[i].substring(0, pos);
                      } else {
                          label = m_formatNames[i];
                          key = m_formatNames[i];
                      }
                  }
  
                  DefaultRestriction restrictionType = null;
                  try {
                      restrictionType = DefaultRestriction.valueOf(value);
                  } catch (Exception e) {
                      // happens with user defined restriction settings
                  }
                  if (restrictionType != null) {
                      switch (restrictionType) {
                          case original:
                              m_formats.put(key, new CmsOriginalFormatRestriction(key, label));
                              break;
                          case user:
                              m_userFormatKey = key;
                              m_formats.put(key, new CmsUserFormatRestriction(key, label));
                              break;
                          case free:
                              m_formats.put(key, new CmsFreeFormatRestriction(key, label));
                              break;
                          case small:
                              m_formats.put(key, new CmsImageFormatRestriction(key, label, "200x?"));
                              break;
                          case big:
                              m_formats.put(key, new CmsImageFormatRestriction(key, label, "500x?"));
                              break;
                          default:
                      }
                  } else {
                      if (CmsImageFormatRestriction.isValidConfig(value)) {
                          m_formats.put(key, new CmsImageFormatRestriction(key, label, value));
                      }
                  }
              }
          }
      }