private static LoadSpec getMachoLoadSpec(ByteProvider provider, long offset) {
		try {
			Collection<LoadSpec> loadSpecs = new MachoLoader().findSupportedLoadSpecs(
				new ByteProviderWrapper(provider, offset, provider.length() - offset));

			// Getting a LoadSpec back means it's a Mach-O we can load.  We also need to make sure
			// the LoadSpec has a language/compiler spec defined to know we support the processor the
			// loader detected.
			if (!loadSpecs.isEmpty()) {
				LoadSpec loadSpec = loadSpecs.iterator().next();
				if (loadSpec.getLanguageCompilerSpec() != null) {
					return loadSpec;
				}
			}
			return null;
		}
		catch (IOException e) {
			return null;
		}
	}
Checks to see if the provider at the given offset represents a valid Mach-O file that we can
load (ie, we support the processor).  If it does, a valid {@link LoadSpec} for the Mach-O is 
returned.

@param provider The provider.
@param offset The offset within the provider to check.
@return True A valid {@link LoadSpec} for the Mach-O at the given provider's offset, or null 
  if it is not a Mach-O or a valid {@link LoadSpec} could not be found.
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/MachoPrelinkUtils.java