@Override
	public void autoMerge(int progressMin, int progressMax, TaskMonitor monitor)
			throws ProgramConflictException, MemoryAccessException, CancelledException {

		initializeAutoMerge("Auto-merging Bookmarks and determining conflicts.", progressMin,
			progressMax, monitor);

		// Inspect each bookmark where my changes occurred.
		AddressIterator iterator = listingMergeMgr.mySet.getAddresses(true);
		totalChanges = listingMergeMgr.mySet.getNumAddresses();

		while (iterator.hasNext()) {
			Address addr = iterator.next();
			incrementProgress(1);

			// Check the Original Bookmarks
			Bookmark[] bookmarks = originalBookmarkMgr.getBookmarks(addr);
			for (int i = 0; i < bookmarks.length; i++) {
				checkOriginalBookmark(monitor, addr, bookmarks[i]);
			}
			//Check any bookmarks that were added to MY program at the address.
			bookmarks = myBookmarkMgr.getBookmarks(addr);
			for (int i = 0; i < bookmarks.length; i++) {
				checkAddedBookmark(monitor, addr, bookmarks[i]);
			}
		}
		updateProgress(100, "Done auto-merging Bookmarks and determining conflicts.");
	}
Constructs a comments merger.
@param listingMergeMgr the listing merge manager that owns this merger.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/BookmarkMerger.java