private Map<Address, List<BSimMatchResult>> groupResultsBySearchAddress(TaskMonitor monitor)
			throws CancelledException {
		monitor.initialize(resultsToBeApplied.size(), "Grouping results...");
		Map<Address, List<BSimMatchResult>> map = new HashMap<>();
		for (BSimMatchResult result : resultsToBeApplied) {
			monitor.increment();
			Address address = result.getAddress();
			List<BSimMatchResult> list = map.computeIfAbsent(address, k -> new ArrayList<>());
			list.add(result);
		}
		return map;
	}
Generic task for applying information from a function match to the queried function
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/gui/search/results/apply/AbstractBSimApplyTask.java