docs: protected CmsFormatterConfiguration getFormatters(
          CmsObject cms,
          I_CmsResourceType resType,
          CmsFormatterConfiguration schemaFormatters) {
  
          String typeName = resType.getTypeName();
          CmsFormatterConfigurationCacheState formatterCacheState = getCachedFormatters();
          List<I_CmsFormatterBean> formatters = new ArrayList<I_CmsFormatterBean>();
          Set<String> types = new HashSet<String>();
          types.add(typeName);
          for (CmsFormatterChangeSet changeSet : getFormatterChangeSets()) {
              if (changeSet != null) {
                  changeSet.applyToTypes(types);
              }
          }
          if ((schemaFormatters != null) && types.contains(typeName)) {
              for (I_CmsFormatterBean formatter : schemaFormatters.getAllFormatters()) {
                  formatters.add(formatter);
              }
  
          }
          Map<CmsUUID, I_CmsFormatterBean> externalFormattersById = Maps.newHashMap();
          for (I_CmsFormatterBean formatter : formatterCacheState.getFormattersForType(typeName, true)) {
              externalFormattersById.put(new CmsUUID(formatter.getId()), formatter);
          }
          applyAllFormatterChanges(externalFormattersById, formatterCacheState);
          for (I_CmsFormatterBean formatter : externalFormattersById.values()) {
              if (formatter.getResourceTypeNames().contains(typeName)) {
                  formatters.add(formatter);
              }
          }
          return CmsFormatterConfiguration.create(cms, formatters);
      }