@Override
        public SafeHtml getHTML(final TickBoxState value) {
            if (template == null) {
                template = GWT.create(Template.class);
            }

            final SafeHtml safeHtml;
            switch (value) {
                case TICK:
                    safeHtml = SvgImageUtil.toSafeHtml(SvgImage.TICK, TICKBOX_CLASSNAME, additionalClassNames, TICK);
                    break;
                case HALF_TICK:
                    safeHtml = template.halfTick(
                            TICKBOX_CLASSNAME + additionalClassNames + HALF_TICK,
                            HALF_TICK_INNER);
                    break;
                case UNTICK:
                    safeHtml = template.untick(TICKBOX_CLASSNAME + additionalClassNames + UNTICK);
                    break;
                default:
                    safeHtml = SafeHtmlUtils.EMPTY_SAFE_HTML;
                    break;
            }

            return safeHtml;
        }
Render the button and its contents.

@param cell    the cell that is being rendered
@param context the {@link Context} of the cell
@param value   the value that generated the content
@param sb      the {@link SafeHtmlBuilder} to render into
stroom-core-client-widget/src/main/java/stroom/cell/tickbox/client/TickBoxCell.java