void setNames(Program resultProgram, String latestName, String myName, String origName,
			boolean nameChangeOnly) {

		conflictsLabel.setText("Tree named '" + latestName + "' (" + MergeConstants.LATEST_TITLE +
			")" + " conflicts with '" + myName + "' (" + MergeConstants.MY_TITLE + ")");

		String text;
		if (nameChangeOnly) {
			text = "Use name '" + latestName + "' (" + MergeConstants.LATEST_TITLE + ")";
		}
		else {
			text = "Use '" + latestName + "' (" + MergeConstants.LATEST_TITLE + ") & lose '" +
				myName + "' (" + MergeConstants.MY_TITLE + ")";
		}
		keepOtherRB.setText(text);

		String myText;
		if (myName.equals(latestName)) {
			myText = "Add '" + myName + "' (" + MergeConstants.MY_TITLE + ") as '" +
				ProgramTreeMergeManager.getUniqueTreeName(resultProgram, myName) + "'";
		}
		else {
			myText = "Add tree '" + myName + "' (" + MergeConstants.MY_TITLE + ")";
		}
		addOrRenameRB.setText(myText);

		String origText;
		if (nameChangeOnly) {
			origText =
				"Use original name '" + origName + "' (" + MergeConstants.ORIGINAL_TITLE + ")";
		}
		else {
			if (origName.equals(latestName)) {
				origText = "Restore '" + origName + "' (" + MergeConstants.ORIGINAL_TITLE +
					") as '" + ProgramTreeMergeManager.getUniqueTreeName(resultProgram, origName) +
					"'" + " & lose '" + myName + "' (" + MergeConstants.MY_TITLE + ")";
			}
			else {
				origText = "Restore '" + origName + "' (" + MergeConstants.ORIGINAL_TITLE +
					") & lose '" + myName + "' (" + MergeConstants.MY_TITLE + ")";
			}
		}
		originalRB.setText(origText);

		group.remove(keepOtherRB);
		group.remove(addOrRenameRB);
		group.remove(originalRB);

		keepOtherRB.setSelected(false);
		addOrRenameRB.setSelected(false);
		originalRB.setSelected(false);
		group.add(keepOtherRB);
		group.add(addOrRenameRB);
		group.add(originalRB);
		invalidate();
	}
Panel to get user input to resolve name conflicts when private name of tree
exists in destination program.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/tree/NameConflictsPanel.java