docs: private I_CmsWidget getEditorWidget(CmsObject cms, I_CmsWidgetDialog widgetDialog) {
  
          if (m_editorWidget == null) {
              // get HTML widget to use from editor manager
              String widgetClassName = OpenCms.getWorkplaceManager().getWorkplaceEditorManager().getWidgetEditor(
                  cms.getRequestContext(),
                  widgetDialog.getUserAgent());
              boolean foundWidget = true;
              if (CmsStringUtil.isEmpty(widgetClassName)) {
                  // no installed widget found, use default text area to edit HTML value
                  widgetClassName = CmsTextareaWidget.class.getName();
                  foundWidget = false;
              }
              try {
                  if (foundWidget) {
                      // get widget instance and set the widget configuration
                      Class<?> widgetClass = Class.forName(widgetClassName);
                      A_CmsHtmlWidget editorWidget = (A_CmsHtmlWidget)widgetClass.newInstance();
                      editorWidget.setHtmlWidgetOption(getHtmlWidgetOption());
                      m_editorWidget = editorWidget;
                  } else {
                      // set the text area to display 15 rows for editing
                      Class<?> widgetClass = Class.forName(widgetClassName);
                      I_CmsWidget editorWidget = (I_CmsWidget)widgetClass.newInstance();
                      editorWidget.setConfiguration("15");
                      m_editorWidget = editorWidget;
                  }
              } catch (Exception e) {
                  // failed to create widget instance
                  LOG.error(
                      Messages.get().container(Messages.LOG_CREATE_HTMLWIDGET_INSTANCE_FAILED_1, widgetClassName).key());
              }
  
          }
          return m_editorWidget;
      }