code: protected CmsFormRow createRow(
          String labelText,
          String description,
          Widget widget,
          final String infoText,
          final boolean infoIsHtml) {
  
          CmsFormRow row = new CmsFormRow();
          Label label = row.getLabel();
          label.setText(labelText);
          if (description != NO_DESCRIPTION) {
              label.setTitle(CmsStringUtil.isNotEmptyOrWhitespaceOnly(description) ? description : labelText);
          }
          row.setInfo(infoText, infoIsHtml);
          row.getWidgetContainer().add(widget);
  
          if (m_truncationWidth > 0) {
              row.truncate(m_truncationMetricsKey, m_truncationWidth);
          }
  
          return row;
      }
docs: Adds a new row with a given label and input widget to the form.<p>
  
  @param labelText the label text for the form field
  @param description the description of the form field
  @param widget the widget for the form field
  @param infoText the text to display on the info icon (may be null)
  @param infoIsHtml true if the info text should be interpreted as HTML rather than plain text
  
  @return the newly added form row