@Override
    protected void onUnload() {
        // Clear out the inputElem's event listener (breaking the circular
        // reference between it and the widget).
        DOM.setEventListener(inputElem, null);
        setValue(getValue());
    }
This method is called when a widget is detached from the browser's
document. Overridden because of IE bug that throws away checked state and
in order to clear the event listener off of the <code>inputElem</code>.
stroom-core-client-widget/src/main/java/stroom/widget/tickbox/client/view/CustomCheckBox.java