docs: public List<I_CmsFormatterBean> getNestedFormatters(
          CmsObject cms,
          CmsResource res,
          Locale locale,
          ServletRequest req) {
  
          List<I_CmsFormatterBean> result = null;
          if (CmsResourceTypeXmlContent.isXmlContent(res)) {
              CmsResourceTypeXmlContent type = (CmsResourceTypeXmlContent)OpenCms.getResourceManager().getResourceType(
                  res);
              String schema = type.getSchema();
              try {
                  CmsXmlContentDefinition contentDefinition = CmsXmlContentDefinition.unmarshal(cms, schema);
                  // get the content handler for the resource type to create
                  I_CmsXmlContentHandler handler = contentDefinition.getContentHandler();
                  if (handler.hasNestedFormatters()) {
                      Map<CmsUUID, I_CmsFormatterBean> formatters = getCachedFormatters(
                          cms.getRequestContext().getCurrentProject().isOnlineProject()).getFormatters();
                      result = new ArrayList<I_CmsFormatterBean>();
                      for (CmsUUID formatterId : handler.getNestedFormatters(cms, res, locale, req)) {
                          I_CmsFormatterBean formatter = formatters.get(formatterId);
                          if (formatter != null) {
                              result.add(formatter);
                          }
                      }
                  }
              } catch (CmsXmlException e) {
                  LOG.error(e.getMessage(), e);
              }
          }
          return result;
      }