public List<DyldFixup> getChainedFixups(BinaryReader reader, long imagebase,
			SymbolTable symbolTable, MessageLog log, TaskMonitor monitor)
			throws IOException, CancelledException {
		List<DyldFixup> result = new ArrayList<>();
		Map<DyldChainType, Integer> countMap = new HashMap<>();
		for (DyldChainedStartsInSegment chainStart : chainHeader.getChainedStartsInImage()
				.getChainedStarts()) {
			if (chainStart == null) {
				continue;
			}

			DyldChainType ptrFormat = DyldChainType.lookupChainPtr(chainStart.getPointerFormat());
			monitor.initialize(chainStart.getPageCount(),
				"Getting " + ptrFormat.getName() + " chained pointer fixups...");

			try {
				for (int index = 0; index < chainStart.getPageCount(); index++) {
					monitor.increment();
	
					long page = chainStart.getSegmentOffset() + (chainStart.getPageSize() * index);
					int pageEntry = chainStart.getPageStarts()[index] & 0xffff;
					if (pageEntry == DYLD_CHAINED_PTR_START_NONE) {
						continue;
					}
					List<DyldFixup> fixups =
						DyldChainedFixups.getChainedFixups(reader, chainHeader.getChainedImports(),
							ptrFormat, page, pageEntry, 0, imagebase, symbolTable, log, monitor);
					result.addAll(fixups);
					countMap.put(ptrFormat, countMap.getOrDefault(ptrFormat, 0) + fixups.size());
				}
			}	
			catch(IOException e) {
				log.appendMsg("Failed to get segment chain fixups at 0x%x"
						.formatted(chainStart.getSegmentOffset()));
			}
		}
		countMap.forEach((type, count) -> log
				.appendMsg("Discovered " + count + " " + type + " chained pointers."));
		return result;
	}
Walks this command's chained fixup information and collects a {@link List} of 
{@link DyldFixup}s that will need to be applied to the image

@param reader A {@link BinaryReader} that can read the image
@param imagebase The image base
@param symbolTable The {@link SymbolTable}, or null if not available
@param log The log
@param monitor A cancellable monitor
@return A {@link List} of {@link DyldFixup}s
@throws IOException If there was an IO-related issue
@throws CancelledException If the user cancelled the operation
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/commands/DyldChainedFixupsCommand.java