private boolean process(Map<String, Object> result) {
		String name = (String) result.get("Message");

		try {
			if (name.equals("DT.Struct")) {
				return processStructure(result);
			}
			if (name.equals("DT.Union")) {
				return processUnion(result);
			}
			if (name.equals("DT.Enum")) {
				return processEnum(result);
			}
			if (name.equals("DT.Typedef")) {
				return processTypeDef(result);
			}
			if (name.equals("DT.TypedObject")) {
				return processTypedObject(result);
			}
			if (name.equals("DT.Builtin")) {
				return processBuiltin(result);
			}
			if (name.equals("DT.Function")) {
				return processFunctionDef(result);
			}
			log.appendMsg("Unrecognized datatype tag: " + name);
		} catch (Exception e) {
			log.appendException(e);
		}
		return true;
	}
Reads the datatypes encoded in SARIF from the specified SARIF parser and
recreates them in a datatype manager.

@param result  the SARIF parser
@param monitor the task monitor
@throws SAXParseException  if an SARIF parse error occurs
@throws CancelledException if the user cancels the read operation
Ghidra/Features/Sarif/src/main/java/sarif/managers/DataTypesSarifMgr.java