private Map<ProgramLocator, Program> openCachedProgramsInTool(Set<ProgramLocator> toOpen) {
		Map<ProgramLocator, Program> map = new HashMap<>();
		for (ProgramLocator programLocator : toOpen) {
			Program program = programCache.get(programLocator);
			if (program != null) {
				openProgram(program, OPEN_VISIBLE);
				map.put(programLocator, program);
			}
		}
		return map;
	}
Start a transaction if one has not been started; needed when program properties are about to
change from the options editor.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/progmgr/ProgramManagerPlugin.java