private void updateHelpButton() {
        final String plainHelpText = getHelpText();
        final SafeHtml helpTextOverride = getHelpTextOverride();
        final HelpHTML helpHTML = getHelpHTML();

        final SafeHtml effectiveHelpText;
//        final boolean haveHelpText;

        if (helpTextOverride != null) {
//            haveHelpText = true;
            effectiveHelpText = helpTextOverride;
        } else if (NullSafe.isNonBlankString(plainHelpText)) {
//            haveHelpText = true;
            // Escape any html in there, wrap it in a para so styling is consistent
            effectiveHelpText = HtmlBuilder.builder()
                    .para(paraBuilder -> paraBuilder.append(SafeHtmlUtils.fromString(plainHelpText)))
                    .toSafeHtml();
        } else if (helpHTML != null) {
//            haveHelpText = true;
            effectiveHelpText = SafeHtmlUtils.fromTrustedString(helpHTML.getHTML());
        } else {
//            haveHelpText = false;
            effectiveHelpText = null;
        }

        helpButton.setHelpContent(effectiveHelpText);

//        if (haveHelpText) {
//            helpButton.setHelpContent(effectiveHelpText);
//        } else {
//            helpButton.setHelpContent(null);
//        }
        updateLabelPanel();

//        if (NullSafe.isNonBlankString(plainHelpText)) {
//            haveHelpText = true;
//            // Escape any html in there
//            effectiveHelpText = SafeHtmlUtils.fromString(plainHelpText);
//        }
//
//        if (NullSafe.isBlankString(helpText) && helpHTML != null) {
//            effectiveHelpText = SafeHtmlUtils.fromTrustedString(helpHTML.getHTML());
//            haveHelpText = true;
//        } else {
//
//        }
//        if (!NullSafe.isBlankString(getHelpText())) {
//            helpButton.setHelpContent(SafeHtmlUtils.fromSafeConstant(getHelpText()));
//        } else {
//            helpButton.setHelpContent(null);
//        }
//        updateLabelPanel();
    }
Plain text, any HTML will be escaped.
The helpText attr trumps the {@code <form:HelpHTML>} element.
<p>
To programmatically set HTML help text, use {@link FormGroup#overrideHelpText(SafeHtml)}.
</p>
stroom-core-client-widget/src/main/java/stroom/widget/form/client/FormGroup.java