@Test
	public void testMemRefAddDiffPickMy() throws Exception {
		// Add mnemonic mem ref from 1002eaf to 1002ee2 CONDITIONAL_JUMP primary user_defined
		// Add op1 mem ref from 1002f3e to 1002f49 DATA non-primary user_defined
		// Add op0 mem ref from 1002f73 to 00000064 DATA primary user_defined

		mtf.initialize("NotepadMergeListingTest", new ProgramModifierListener() {

			@Override
			public void modifyLatest(ProgramDB program) {
				ReferenceManager refMgr = program.getReferenceManager();
				refMgr.addMemoryReference(addr(program, "0x1002eaf"),
					addr(program, "0x1002ee2"), RefType.CONDITIONAL_JUMP,
					SourceType.USER_DEFINED, -1);
				refMgr.addMemoryReference(addr(program, "0x1002f3e"),
					addr(program, "0x1002f49"), RefType.DATA, SourceType.USER_DEFINED, 1);
				refMgr.addMemoryReference(addr(program, "0x1002f73"),
					addr(program, "0x00000064"), RefType.DATA, SourceType.USER_DEFINED, 0);
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				ReferenceManager refMgr = program.getReferenceManager();
				Reference ref;
				ref = refMgr.addMemoryReference(addr(program, "0x1002eaf"),
					addr(program, "0x1002ee2"), RefType.WRITE, SourceType.USER_DEFINED, -1);
				ref = refMgr.addMemoryReference(addr(program, "0x1002f3e"),
					addr(program, "0x1002f49"), RefType.DATA, SourceType.USER_DEFINED, 1);
				refMgr.setPrimary(ref, false);
				ref = refMgr.addMemoryReference(addr(program, "0x1002f73"),
					addr(program, "0x00000064"), RefType.READ, SourceType.USER_DEFINED, 0);
			}
		});

		executeMerge(ASK_USER);
		chooseRadioButton(MY_BUTTON);
		chooseRadioButton(MY_BUTTON);
		chooseRadioButton(MY_BUTTON);
		waitForMergeCompletion();

		ReferenceManager refMgr = resultProgram.getReferenceManager();
		Reference ref = refMgr.getReference(addr("0x1002eaf"), addr("0x1002ee2"), -1);
		assertNotNull(ref);
		assertEquals(RefType.WRITE, ref.getReferenceType());
		assertTrue(ref.isPrimary());

		ref = refMgr.getReference(addr("0x1002f3e"), addr("0x1002f49"), 1);
		assertNotNull(ref);
		assertEquals(RefType.DATA, ref.getReferenceType());
		assertTrue(!ref.isPrimary());

		ref = refMgr.getReference(addr("0x1002f73"), addr("0x00000064"), 0);
		assertNotNull(ref);
		assertEquals(RefType.READ, ref.getReferenceType());
		assertTrue(ref.isPrimary());
	}
Test the merge of the versioned program's listing.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/RefMergerMemTest.java