@Override
    public void onBrowserEvent(final Context context, final Element parent, final Expander value,
                               final NativeEvent event, final ValueUpdater<Expander> valueUpdater) {
        super.onBrowserEvent(context, parent, value, event, valueUpdater);
        if ("click".equals(event.getType())) {
            final EventTarget eventTarget = event.getEventTarget();
            if (!Element.is(eventTarget)) {
                return;
            }
            if (parent.getFirstChildElement().isOrHasChild(Element.as(eventTarget))) {
                // Ignore clicks that occur outside of the main element.
                onEnterKeyDown(context, parent, value, event, valueUpdater);
            }
        }
    }
Get the maximum column width required to fit expander icons for all levels
stroom-core-client-widget/src/main/java/stroom/cell/expander/client/ExpanderCell.java