private List<TypeInfo> getTypeInfos(RegionDescriptor region, LSDACallSiteRecord cs) {

		List<TypeInfo> typeInfos = new ArrayList<>();

		LSDAActionTable actionTable = region.getActionTable(); // This can be null.
		LSDATypeTable typeTable = region.getTypeTable(); // This can be null.
		if (actionTable == null || typeTable == null) {
			return typeInfos; // No action records.
		}

		int actionOffset = cs.getActionOffset();
		// If we have a valid offset then get that action record.
		LSDAActionRecord action = actionTable.getActionRecordAtOffset(actionOffset);

		while (action != null) {

			int actionFilter = action.getActionTypeFilter();
			Address typeInfoAddress = typeTable.getTypeInfoAddress(actionFilter);
			TypeInfo typeInfo = new TypeInfo(typeInfoAddress, actionFilter);
			typeInfos.add(typeInfo);

			action = action.getNextAction();
		}

		return typeInfos;
	}
Creates an analyzer for marking up the GCC exception handling information.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/exceptionhandlers/gcc/GccExceptionAnalyzer.java