public void readResults(TaskMonitor monitor, SarifProgramOptions options,
			Map<String, List<Map<String, Object>>> tableResults) throws IOException {
		try {
			for (int i = 0; i < mgrs.length; i++) {
				if (opts[i]) {
					List<Map<String, Object>> list = tableResults.get(mgrs[i].getKey());
					mgrs[i].readResults(list, options, monitor);
				}
			}
		} catch (Exception e) {
			throw new IOException("SARIF Read Cancelled");
		}

	}
Reads from the underlying SARIF file and populates the specified program.

@param program the program to load the SARIF into
@param monitor the task monitor
@param options the SARIF options, which features to load and to ignore
@return the message log containing any warning/error messages
@throws SAXException           if an SARIF error occurs
@throws IOException            if an I/O occurs
@throws AddressFormatException if an invalid address is specified in the
                               SARIF
Ghidra/Features/Sarif/src/main/java/sarif/managers/ProgramSarifMgr.java