final Size leftPanelRequiredSize = left.getRequiredSize(new Size(availableSpace));
final Size rightPanelRequiredSize = right == null ? new Size() : right.getRequiredSize(new Size(availableSpace));
// combine the two sizes
final Size totalSize = new Size(leftPanelRequiredSize);
totalSize.extendWidth(rightPanelRequiredSize.getWidth());
totalSize.ensureHeight(rightPanelRequiredSize.getHeight());
if (totalSize.getWidth() > availableSpace.getWidth()) {
/*
* If the combined width is greater than the available then we need