public static ByteProvider extractFileSetEntry(ByteProvider provider, long providerOffset,
			FSRL fsrl, TaskMonitor monitor) throws IOException, MachException, CancelledException {

		ExtractedMacho extractedMacho = new ExtractedMacho(provider, providerOffset,
			new MachHeader(provider, providerOffset, false).parse(), FOOTER_V1, monitor);
		extractedMacho.pack();
		return extractedMacho.getByteProvider(fsrl);
	}
Gets a {@link ByteProvider} that contains a Mach-O file set entry. The Mach-O's header will
be altered to account for its segment bytes being packed down.   

@param provider The Mach-O file set provider
@param providerOffset The offset of the Mach-O file set entry in the given provider
@param fsrl {@link FSRL} to assign to the resulting {@link ByteProvider}
@param monitor {@link TaskMonitor}
@return {@link ByteProvider} containing the bytes of the extracted Mach-O file set entry
@throws MachException If there was an error parsing the Mach-O file set header
@throws IOException If there was an IO-related issue with extracting the Mach-O file set 
  entry
@throws CancelledException If the user cancelled the operation
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/ios/fileset/MachoFileSetExtractor.java