private boolean checkLanguageCompilerSpec(Program program) {
		if (!languageId.equals(program.getLanguageID())) {
			return false;
		}
		if (compilerSpec != null) {
			if (!compilerSpec.getCompilerSpecID()
					.equals(program.getCompilerSpec().getCompilerSpecID())) {
				throw new IllegalArgumentException(
					"Program " + program.getName() + " has different compiler spec (" +
						program.getCompilerSpec().getCompilerSpecID() +
						") than already established (" + compilerSpec.getCompilerSpecID() + ")");
			}
		}
		return true;
	}
Make sure all programs have the same language and compiler spec,
otherwise throw and exception or return false based on failOnNewLanguage
@param program the program
@return true if the program passes the filter
Ghidra/Features/FunctionID/src/main/java/ghidra/feature/fid/service/FidServiceLibraryIngest.java