private void setAssociatedWidgetSize(int size) {
            if (size < minSize) {
                size = minSize;
            }

            final LayoutData layout = (LayoutData) target.getLayoutData();
            if (size == layout.size) {
                return;
            }

            layout.size = size;

            // Defer actually updating the layout, so that if we receive many mouse events before layout/paint
            // occurs, we'll only update once.
            if (layoutCommand == null) {
                layoutCommand = () -> {
                    layoutCommand = null;
                    forceLayout();
                };
                Scheduler.get().scheduleDeferred(layoutCommand);
            }
        }
Sets the minimum allowable size for the given widget.
<p>
<p>
Its associated splitter cannot be dragged to a position that would make
it smaller than this size. This method has no effect for the
{@link DockLayoutPanel.Direction#CENTER} widget.
</p>

@param child   the child whose minimum size will be set
@param minSize the minimum size for this widget
stroom-core-client-widget/src/main/java/com/google/gwt/user/client/ui/MySplitLayoutPanel.java