protected VariousChoicesPanel createLocalVariableConflictPanel(final LocalVariableConflict lvc,
			final TaskMonitor monitor) {

		Address entryPt = lvc.entry;
		Variable[] vars = lvc.vars; // [0]=Original, [1]=Latest, [2]=My
		Variable origLocal = vars[ORIGINAL_VAR];
		Variable latestLocal = vars[LATEST_VAR];
		Variable myLocal = vars[MY_VAR];
		int conflicts = lvc.varConflicts;
//		if ((conflicts & VAR_REMOVED) != 0) {
//			return createRemovedVarConflictPanel(entryPt, vars, monitor);
//		}

		VariousChoicesPanel panel = getEmptyVariousPanel();

		runSwing(() -> {
			panel.setTitle("Function Local Variable");
			Variable var =
				(latestLocal != null) ? latestLocal : ((myLocal != null) ? myLocal : (origLocal));
			String varInfo = "Local Variable" + ConflictUtility.spaces(4) + "Storage: " +
				ConflictUtility.getEmphasizeString(var.getVariableStorage().toString()) +
				ConflictUtility.spaces(4) + "First Use Offset: " +
				ConflictUtility.getOffsetString(var.getFirstUseOffset());
			String text = "Function: " +
				ConflictUtility.getEmphasizeString(
					functionManagers[RESULT].getFunctionAt(entryPt).getName()) +
				ConflictUtility.spaces(4) + "EntryPoint: " +
				ConflictUtility.getAddressString(entryPt) + ConflictUtility.spaces(4) + varInfo;
			panel.setHeader(text);
			panel.addInfoRow("Conflict", new String[] { LATEST_TITLE, MY_TITLE }, true);

			if ((conflicts & VAR_NAME) != 0) {
				String latest = latestLocal.getName();
				String my = myLocal.getName();
				panel.addSingleChoice("Local Variable Name", new String[] { latest, my },
					new LocalVarChangeListener(VAR_NAME, entryPt, vars, panel, monitor));
			}
			if ((conflicts & VAR_DATATYPE) != 0) {
				String latest = latestLocal.getDataType().getName();
				String my = myLocal.getDataType().getName();
				panel.addSingleChoice("Local Variable Data Type", new String[] { latest, my },
					new LocalVarChangeListener(VAR_DATATYPE, entryPt, vars, panel, monitor));
			}
//		if ((conflicts & VAR_LENGTH) != 0) {
//			String latest = latestLocal.getLength();
//			String my = myLocal.getLength();
//			panel.addSingleChoice("Local Variable Length", new String[] {latest, my}, 
//					new LocalVarChangeListener(VAR_LENGTH, entryPt, vars, panel, monitor));
//		}
			if ((conflicts & VAR_COMMENT) != 0) {
				String latest = latestLocal.getComment();
				String my = myLocal.getComment();
				panel.addSingleChoice("Local Variable Comment", new String[] { latest, my },
					new LocalVarChangeListener(VAR_COMMENT, entryPt, vars, panel, monitor));
			}
		});
		return panel;
	}
This is a generic method for displaying the contents of the information 
buffer to the user.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/AbstractFunctionMerger.java