private void showConflictPanel(final ListingMergePanel listingPanel, final int conflictType) {
		try {
			final ChangeListener changeListener = new ChangeListener() {
				@Override
				public void stateChanged(ChangeEvent e) {
					int chosenConflictOption =
						ReferenceMerger.this.conflictPanel.getSelectedOptions();
					if (chosenConflictOption == ASK_USER) {
						if (mergeManager != null) {
							mergeManager.setApplyEnabled(false);
						}
						return;
					}
					if (mergeManager != null) {
						mergeManager.clearStatusText();
					}
					try {
						mergeConflict(conflictType, chosenConflictOption);
						if (mergeManager != null) {
							mergeManager.setApplyEnabled(true);
						}
					}
					catch (Exception e1) {
						Msg.error(this, "Unexpected Exception: " + e1.getMessage(), e1);
					}
				}
			};
			SwingUtilities.invokeAndWait(new Runnable() {
				@Override
				public void run() {
					try {
						getConflictPanel(conflictType, changeListener);

						int choice = getChoiceForConflictType(conflictType);
						boolean useForAll = (choice != ASK_USER);
						conflictPanel.setUseForAll(useForAll);
						conflictPanel.setConflictType(getConflictTypeText(conflictType));

						listingPanel.setBottomComponent(conflictPanel);
					}
					catch (Exception e) {
						MergeManager.showBlockingError("Error Merging References",
							"Error Getting Conflict Panel", e);
					}
				}
			});
			SwingUtilities.invokeLater(() -> {
				listingPanel.clearAllBackgrounds();
				if (ReferenceMerger.this.currentBackgroundSet != null) {
					listingPanel.paintAllBackgrounds(ReferenceMerger.this.currentBackgroundSet);
				}
			});
		}
		catch (InterruptedException e) {
			e.printStackTrace();
		}
		catch (InvocationTargetException e) {
			e.printStackTrace();
		}
		if (mergeManager != null && conflictPanel.hasChoice()) {
			mergeManager.setApplyEnabled(false);
			mergeManager.showListingMergePanel(currentAddress);
			// block until the user either cancels or hits the "Apply" button
			// on the merge dialog...
			// when the "Apply" button is hit, get the user's selection
			// and continue.
		}
	}
Replace the fallthroughs where possible. 
@param addressSet the address set where fallthroughs should be replaced
@param chosenConflictOption indicator of where to get references from (KEEP_ORIGINAL, KEEP_LATEST, KEEP_MY).
@param monitor task monitor
@throws CancelledException if user cancels.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/ReferenceMerger.java