docs: private void initMimeTypes() {
  
          // legacy MIME type initialization: try to read properties file
          Properties mimeTypes = new Properties();
          try {
              // first try: read MIME types from default package
              mimeTypes.load(getClass().getClassLoader().getResourceAsStream("mimetypes.properties"));
          } catch (Throwable t) {
              try {
                  // second try: read MIME types from loader package (legacy reasons, there are no types by default)
                  mimeTypes.load(
                      getClass().getClassLoader().getResourceAsStream("org/opencms/loader/mimetypes.properties"));
              } catch (Throwable t2) {
                  if (LOG.isInfoEnabled()) {
                      LOG.info(
                          Messages.get().getBundle().key(
                              Messages.LOG_READ_MIMETYPES_FAILED_2,
                              "mimetypes.properties",
                              "org/opencms/loader/mimetypes.properties"));
                  }
              }
          }
  
          // initialize the Map with all available MIME types
          List<CmsMimeType> combinedMimeTypes = new ArrayList<CmsMimeType>(
              mimeTypes.size() + m_configuredMimeTypes.size());
          // first add all MIME types from the configuration
          combinedMimeTypes.addAll(m_configuredMimeTypes);
          // now add the MIME types from the properties
          Iterator<Map.Entry<Object, Object>> i = mimeTypes.entrySet().iterator();
          while (i.hasNext()) {
              Map.Entry<Object, Object> entry = i.next();
              CmsMimeType mimeType = new CmsMimeType(entry.getKey().toString(), entry.getValue().toString(), false);
              if (!combinedMimeTypes.contains(mimeType)) {
                  // make sure no MIME types from the XML configuration are overwritten
                  combinedMimeTypes.add(mimeType);
              }
          }
  
          // create a lookup Map for the MIME types
          m_mimeTypes = new HashMap<String, String>(mimeTypes.size());
          Iterator<CmsMimeType> j = combinedMimeTypes.iterator();
          while (j.hasNext()) {
              CmsMimeType mimeType = j.next();
              m_mimeTypes.put(mimeType.getExtension(), mimeType.getType());
          }
  
          if (CmsLog.INIT.isInfoEnabled()) {
              CmsLog.INIT.info(
                  Messages.get().getBundle().key(Messages.INIT_NUM_MIMETYPES_1, new Integer(m_mimeTypes.size())));
          }
      }