@Override
    public boolean remove(final Widget child) {
        assert !(child instanceof Splitter) : "Splitters may not be directly removed";

        final int idx = getWidgetIndex(child);
        if (super.remove(child)) {
            // Remove the associated splitter, if any.
            // Now that the widget is removed, idx is the index of the splitter.
            if (idx < getWidgetCount()) {
                // Call super.remove(), or we'll end up recursing.
                super.remove(getWidget(idx));
            }
            return true;
        }
        return false;
    }
The element that masks the screen so we can catch mouse events over
iframes.
stroom-core-client-widget/src/main/java/com/google/gwt/user/client/ui/ThinSplitLayoutPanel.java