public List<LibraryRecord> getLibrariesByName(String name, String version, String variant)
			throws IOException {
		StringField hashField = new StringField(name);
		DBFieldIterator iterator =
			table.indexKeyIterator(LIBRARY_FAMILY_NAME_COL, hashField, hashField, true);
		if (!iterator.hasNext()) {
			return Collections.emptyList();
		}
		List<LibraryRecord> list = new ArrayList<LibraryRecord>();
		while (iterator.hasNext()) {
			Field key = iterator.next();
			DBRecord record = table.getRecord(key);
			LibraryRecord libraryRecord = new LibraryRecord(record);
			if (version != null) {
				if (!libraryRecord.getLibraryVersion().equals(version)) {
					continue;
				}
			}
			if (variant != null) {
				if (!libraryRecord.getLibraryVariant().equals(variant)) {
					continue;
				}
			}
			list.add(libraryRecord);
		}
		return list;
	}
Return libraries by name
  Restrict by version if -version- is non-null
  Restrict by variant if -variant- is non-null
@param name is the family name of the library (must not be null)
@param version is the optional version string
@param variant is the optional variant string
@return matching list of libraries
@throws IOException
Ghidra/Features/FunctionID/src/main/java/ghidra/feature/fid/db/LibrariesTable.java