private static boolean hasRelocation(Mask mask,Address minAddress,Address maxAddress,RelocationTable relocationTable) {
		byte[] bytes = mask.getBytes();
		for (byte b : bytes) {
			if (b != 0) {
				break;
			}
			minAddress = minAddress.addWrap(1);
		}
		for (int jj = bytes.length - 1; jj >= 0; --jj) {
			if (bytes[jj] != 0) {
				break;
			}
			maxAddress = maxAddress.subtract(1);
		}
		if (minAddress.compareTo(maxAddress) <= 0) {
			AddressSet range = new AddressSet(minAddress, maxAddress);
			Iterator<Relocation> relocations = relocationTable.getRelocations(range);
			if (relocations.hasNext()) {
				return true;
			}
		}
		return false;
	}
Given a FunctionExtentGenerator and a MonitoredMessageDigest, will combine
both to become a FidHasher.
Ghidra/Features/FunctionID/src/main/java/ghidra/feature/fid/hash/MessageDigestFidHasher.java