private void readExecutableCategories(DatabaseInformation infoResult,
			Map<String, String> keyValue) throws ElasticException {
		String countString = keyValue.get("execatcount");
		int count;
		if (countString != null) {
			count = Integer.parseInt(countString);
		}
		else {
			count = 0;				// key may not be present, assume 0 categories
		}
		if (count <= 0) {
			infoResult.execats = null;
			return;
		}
		infoResult.execats = new ArrayList<>();
		for (int i = 0; i < count; ++i) {
			String key = "execat" + (i + 1);
			String value = getCriticalValue(key, keyValue);
			infoResult.execats.add(value);
		}
	}
Extract category information for this database into the DatabaseInformation object
from the key/value map. Category information is stored as keys: execatcount, execat1, execat2, ...
@param infoResult is the information object to populate
@param keyValue is the map of key/value pairs
@throws ElasticException for communication problems with the server
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java