private void init() {
		setBorder(BorderFactory.createTitledBorder("Resolve Conflict"));
		setLayout(new BorderLayout());

		headerLabel = new GDHtmlLabel(" ");
		headerLabel.setHorizontalAlignment(SwingConstants.CENTER);
		add(headerLabel, BorderLayout.NORTH);

		rowComps = new ArrayList<>();
		rows = new ArrayList<>();
		rowTypes = new LongArrayList();
		group = new ButtonGroup();
		layout = new MaximizeSpecificColumnGridLayout(5, 5, columnCount);
		layout.maximizeColumn(0);
		rowPanel = new JPanel(layout);
		add(rowPanel, BorderLayout.CENTER);
		rowPanel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

		GRadioButton rb = new GRadioButton();
		JCheckBox cb = new GCheckBox();
		indent = Math.max(rb.getPreferredSize().width, cb.getPreferredSize().width);

		defaultInsets = new Insets(DEFAULT_TOP, DEFAULT_LEFT, DEFAULT_BOTTOM, DEFAULT_RIGHT);
		int labelHeight = (int) new GDLabel("A").getPreferredSize().getHeight();
		double buttonHeight = new MyRadioButton("A",
			ListingMergeConstants.KEEP_LATEST).getPreferredSize().getHeight();
		int borderHeight;
		borderHeight = (int) ((buttonHeight - labelHeight) / 2);
		if (borderHeight < 0) {
			borderHeight = 0;
		}
		textVsButtonInsets = new Insets(DEFAULT_TOP + borderHeight, DEFAULT_LEFT,
			DEFAULT_BOTTOM + borderHeight, DEFAULT_RIGHT);
		double checkBoxHeight =
			new MyCheckBox("A", ListingMergeConstants.KEEP_LATEST).getPreferredSize().getHeight();
		borderHeight = (int) ((checkBoxHeight - labelHeight) / 2);
		if (borderHeight < 0) {
			borderHeight = 0;
		}
		textVsCheckBoxInsets = new Insets(DEFAULT_TOP + borderHeight, DEFAULT_LEFT,
			DEFAULT_BOTTOM + borderHeight, DEFAULT_RIGHT);

		add(createUseForAllCheckBox(), BorderLayout.SOUTH);
	}
<CODE>VerticalChoicesPanel</CODE> is a conflict panel for the Listing Merge.
It lays out rows of information vertically in a table format. 
Each row can be a header row, an information row, a single choice row, 
or a multiple choice row.
<BR>Single choice rows provide a radio button and are used when a single 
choice must be made from multiple rows of choices.
<BR>Multiple choice rows provide a check box and are used when more than one 
choice can be made from multiple rows of choices.
<BR>Note: Single choice and multiple choice rows are not intended to be 
intermixed on the same panel.
<BR>A header label can be set. This appears above the row table. The text
for the header label should be HTML.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/VerticalChoicesPanel.java