public void replaceReferences(AddressSetView originAddressSet, TaskMonitor monitor)
			throws CancelledException, UnsupportedOperationException {

		replaceReferences(originAddressSet, false, monitor);
	}
<CODE>replaceReferences</CODE> replaces all references in
program1 for the specified address set with those in program2.
If an equivalent reference already exists then it is updated to match the
new reference.
<br> Note: All reference types (memory, stack, external) get replaced
where possible. i.e. If a function or variable doesn't exist for a
variable reference then it will not be able to replace the reference.

@param originAddressSet the addresses to be merged.
The addresses in this set should be derived from the origin program.
@param monitor the task monitor for notifying the user of this merge's
progress.
@throws CancelledException if the user cancels the replace via the monitor.
@throws UnsupportedOperationException if the ProgramMerge translators are not
"one for one translators".
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramMerge.java