/** This initalizes the map based on mime type and suffix. */
  private void initializeSuffixAndMimeBasedMaps() {
    for (MetaMetadata metaMetadata : repositoryByTagName) {
      metaMetadata.inheritMetaMetadata(this);
      Class<? extends Metadata> metadataClass = metaMetadata.getMetadataClass(metadataTScope);
      if (metadataClass == null) {
        error(metaMetadata + "\tCan't resolve in TranslationScope " + metadataTScope);
        continue;
      }

      ArrayList<String> suffixes = metaMetadata.getSuffixes();
      if (suffixes != null) {
        for (String suffix : suffixes) {
          // FIXME-- Ask whether the suffix and mime should be inherited or not
          if (!repositoryBySuffix.containsKey(suffix)) repositoryBySuffix.put(suffix, metaMetadata);
        }
      }

      ArrayList<String> mimeTypes = metaMetadata.getMimeTypes();
      if (mimeTypes != null) {
        for (String mimeType : mimeTypes) {
          // FIXME -- Ask whether the suffix and mime should be inherited or not
          if (!repositoryByMime.containsKey(mimeType)) repositoryByMime.put(mimeType, metaMetadata);
        }
      }
    }
  }