@Override
	public Collection<LoadSpec> findSupportedLoadSpecs(ByteProvider provider) throws IOException {
		List<LoadSpec> loadSpecs = new ArrayList<>();

		if (provider.length() < MIN_BYTE_LENGTH) {
			return loadSpecs;
		}

		AbstractOmfRecordFactory factory = new OmfRecordFactory(provider);
		if (OmfFileHeader.checkMagicNumber(factory.getReader())) {
			factory.reset();
			OmfFileHeader scan;
			try {
				scan = OmfFileHeader.scan(factory, TaskMonitor.DUMMY, true);
			}
			catch (OmfException e) {
				throw new IOException("Bad header format: " + e.getMessage());
			}
			List<QueryResult> results = QueryOpinionService.query(getName(), scan.getMachineName(),
				mapTranslator(scan.getTranslator()));
			for (QueryResult result : results) {
				loadSpecs.add(new LoadSpec(this, IMAGE_BASE, result));
			}
			if (loadSpecs.isEmpty()) {
				loadSpecs.add(new LoadSpec(this, IMAGE_BASE, true));
			}
		}
		return loadSpecs;
	}
OMF usually stores a string describing the compiler that produced it in a
translator comment.  This routine maps this string to official
"secondary constraint" used by the Ghidra opinion service to pick a
language module for the program 
@param record is the translator comment string
@return the "secondary constraint"
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/OmfLoader.java