docs: public void render() throws IOException, JspException {
  
          boolean isNewFunctionType = OpenCms.getResourceManager().matchResourceType(
              CmsResourceTypeFunctionConfig.TYPE_NAME,
              m_element.getResource().getTypeId());
          if (isNewFunctionType) {
              CmsFunctionFormatterBean function = getFormatterBean(m_cms);
              if (function != null) {
                  CmsUUID jspId = function.getRealJspId();
                  if (jspId != null) {
                      CmsJspTagInclude.includeTagAction(
                          m_context,
                          m_cms.getRequestContext().removeSiteRoot(function.getRealJspRootPath()),
                          null,
                          m_cms.getRequestContext().getLocale(),
                          false,
                          m_cms.getRequestContext().getCurrentProject().isOnlineProject(),
                          function.getParameters(),
                          CmsRequestUtil.getAttributeMap(m_request),
                          m_request,
                          m_response);
                  } else {
                      m_context.getOut().print(defaultHtml(m_request));
                  }
              } else {
                  m_context.getOut().print(defaultHtml(m_request));
              }
          } else {
              CmsDynamicFunctionBean.Format format = getFunctionFormat();
              if ((format != null) && m_cms.existsResource(format.getJspStructureId())) {
                  try {
                      CmsResource jspResource = m_cms.readResource(format.getJspStructureId());
                      Map<String, String[]> params = new HashMap<>();
                      for (Entry<String, String> paramEntry : format.getParameters().entrySet()) {
                          params.put(paramEntry.getKey(), new String[] {paramEntry.getValue()});
                      }
                      CmsJspTagInclude.includeTagAction(
                          m_context,
  
                          m_cms.getSitePath(jspResource),
                          null,
                          m_cms.getRequestContext().getLocale(),
                          false,
                          m_cms.getRequestContext().getCurrentProject().isOnlineProject(),
                          params,
                          CmsRequestUtil.getAttributeMap(m_request),
                          m_request,
                          m_response);
                  } catch (CmsException e) {
                      LOG.error(e.getLocalizedMessage(), e);
                  }
              } else {
                  m_context.getOut().print(defaultHtml(m_request));
              }
          }
      }