@Override
	public boolean read(Map<String, Object> result, SarifProgramOptions options, TaskMonitor monitor)
			throws CancelledException {
		String tagName = (String) result.get("Message");
		boolean overwrite = options == null || options.isOverwriteReferenceConflicts();
		if (tagName.equals("Ref.Memory")) {
			processMemoryReference(result, overwrite);
		} else if (tagName.equals("Ref.Shifted")) {
			processShiftedReference(result, overwrite);
		} else if (tagName.equals("Ref.Register")) {
			processRegisterReference(result, overwrite);
		} else if (tagName.equals("Ref.Stack")) {
			if (options == null || options.isFunctions()) { // TODO && !ignoreStackReferences) {
				processStackReference(result, overwrite);
			}
		} else if (tagName.equals("Ref.External")) {
			if (options == null || options.isExternalLibraries()) {
				processExtLibraryReference(result, overwrite);
			}
		} else if (tagName.equals("Ref.Equate")) {
			processEquateReference(result, overwrite);
		}
		return true;
	}
SARIF manager for all references ("markup" for operand substitution).
Ghidra/Features/Sarif/src/main/java/sarif/managers/MarkupSarifMgr.java