@Override
	public Dimension preferredLayoutSize(Container parent) {
		int componentCount = parent.getComponentCount();
		int rowCount = (componentCount + (columnCount - 1)) / columnCount;
		Insets insets = parent.getInsets();
		Dimension d = new Dimension(0, 0);
		int totalComponentHeight = 0;
		for (int i = 0; i < rowCount; i++) {
			totalComponentHeight += getRowHeight(parent, i);
		}
		int[] desiredColumnWidths = getDesiredColumnWidths(parent);

		int totalComponentWidth = getTotalWidth(desiredColumnWidths);
		d.width = totalComponentWidth + hgap * (columnCount - 1) + insets.left + insets.right;
		d.height = totalComponentHeight + vgap * (rowCount - 1) + insets.top + insets.bottom;
		return d;
	}
Allows you to indicate that you want to try to keep the size of a column at the preferred 
size of the widest component in that column as the parent container component is resized. 
Any column that has been maximized won't shrink until the non-maximized windows are reduced 
to a width of zero.
@param column the number (0 based) of the column to keep maximized.
Ghidra/Framework/Gui/src/main/java/ghidra/util/layout/MaximizeSpecificColumnGridLayout.java