protected ConfigLast checkSavedConfig(Program program, ProgramUserData userData,
			String propName) {
		if (!propName.startsWith(PREFIX_DBGLAUNCH)) {
			return null;
		}
		String configName = propName.substring(PREFIX_DBGLAUNCH.length());
		String propVal = Objects.requireNonNull(
			userData.getStringProperty(propName, null));
		Element element;
		try {
			element = XmlUtilities.fromString(propVal);
		}
		catch (JDOMException | IOException e) {
			Msg.error(this, "Could not load launcher config for " + configName + ": " + e, e);
			return null;
		}
		return checkSavedConfig(program, configName, new SaveState(element));
	}
TODO: Supposedly, per-program, per-user config stuff is being generalized for analyzers.
Re-examine this if/when that gets merged
Ghidra/Debug/Debugger-rmi-trace/src/main/java/ghidra/app/plugin/core/debug/gui/tracermi/launcher/TraceRmiLauncherServicePlugin.java