code: public String parseTagAction(String content, PageContext context, A_CmsConfiguredHtmlParser parser) {
  
          String result = null;
          CmsRequestContext cmsContext = CmsFlexController.getCmsObject(context.getRequest()).getRequestContext();
  
          if (parser == null) {
              if (LOG.isErrorEnabled()) {
                  LOG.error(
                      Messages.get().getBundle(cmsContext.getLocale()).key(
                          Messages.GUI_ERR_TAG_ATTRIBUTE_MISSING_2,
                          new Object[] {TAG_NAME, ATT_VISITOR_CLASS}));
              }
              result = content;
          } else {
  
              String encoding = cmsContext.getEncoding();
              try {
                  result = parser.doParse(content, encoding, m_noAutoCloseTags);
  
              } catch (ParserException pex) {
  
                  if (LOG.isErrorEnabled()) {
                      LOG.error(
                          Messages.get().getBundle(cmsContext.getLocale()).key(
                              Messages.ERR_PROCESS_TAG_1,
                              new Object[] {TAG_NAME}),
                          pex);
                  }
                  StringWriter stackTrace = new StringWriter();
                  PrintWriter writer = new PrintWriter(new StringWriter());
                  StringBuffer msg = new StringBuffer("<!--\n").append(pex.getLocalizedMessage()).append("\n");
                  pex.printStackTrace(writer);
                  msg.append(stackTrace.toString()).append("\n-->");
                  result = msg.toString();
              } catch (CmsException cmex) {
                  if (LOG.isErrorEnabled()) {
                      LOG.error(
                          Messages.get().getBundle(cmsContext.getLocale()).key(
                              Messages.ERR_PROCESS_TAG_1,
                              new Object[] {TAG_NAME}),
                          cmex);
                  }
                  StringWriter stackTrace = new StringWriter();
                  PrintWriter writer = new PrintWriter(new StringWriter());
                  StringBuffer msg = new StringBuffer("<!--\n").append(cmex.getLocalizedMessage()).append("\n");
                  cmex.printStackTrace(writer);
                  msg.append(stackTrace.toString()).append("\n-->");
                  result = msg.toString();
              }
  
          }
          return result;
      }
docs: Internal action method.<p>
  
  Parses (and potentially transforms) a HTMl content block.<p>
  
  @param content the content to be parsed / transformed
  @param context needed for getting the encoding / the locale
  @param parser the visitor / parser to use
  
  @return the transformed content