code: public String getXmlEditorHtmlEnd() throws JspException {
  
          StringBuffer result = new StringBuffer(16384);
          if (m_optionalElementPresent) {
              // disabled optional element(s) present, reset widgets to show help bubbles on optional form entries
              resetWidgetCollector();
          }
          try {
              // get all widgets from collector
              Iterator<String> i = getWidgetCollector().getWidgets().keySet().iterator();
              while (i.hasNext()) {
                  // get the value of the widget
                  String key = i.next();
                  I_CmsXmlContentValue value = getWidgetCollector().getValues().get(key);
                  I_CmsWidget widget = getWidgetCollector().getWidgets().get(key);
                  result.append(widget.getDialogHtmlEnd(getCms(), this, (I_CmsWidgetParameter)value));
  
              }
  
              // add empty help text layer
              result.append("<div class=\"help\" id=\"helpText\" ");
              result.append("onmouseover=\"showHelpText();\" onmouseout=\"hideHelpText();\"></div>\n");
  
              // add empty element button layer
              result.append("<div class=\"xmlButtons\" id=\"xmlElementButtons\" ");
              result.append(
                  "onmouseover=\"checkElementButtons(true);\" onmouseout=\"checkElementButtons(false);\"></div>\n");
  
              // return the HTML
              return result.toString();
          } catch (Exception e) {
              showErrorPage(e);
              return "";
          }
      }
docs: Generates the HTML for the end of the HTML editor form page.<p>
  
  @return the HTML for the end of the HTML editor form page
  @throws JspException if including the error page fails