private static FunctionDescription convertDescriptionRow(JsonObject hit,
			ExecutableRecord exeRecord, DescriptionManager manager, SignatureRecord sigRecord) {
		RowKey rowid = RowKeyElastic.parseFunctionId(hit.get("_id").getAsString());
		JsonObject source = (JsonObject) hit.get("_source");
		String func_name = source.get("name_func").getAsString();
		long addr = source.get("addr").getAsLong();
		int flags = (int) source.get("flags").getAsLong();
		long id_sig = Base64Lite.decodeLongBase64(source.get("id_signature").getAsString());
		FunctionDescription fres = manager.newFunctionDescription(func_name, addr, exeRecord);
		manager.setFunctionDescriptionId(fres, rowid);
		manager.setFunctionDescriptionFlags(fres, flags);
		manager.setSignatureId(fres, id_sig);
		if (sigRecord != null) {
			manager.setSignatureId(sigRecord, id_sig);
			manager.attachSignature(fres, sigRecord);
		}
		return fres;
	}
Build a FunctionDescription object in -manager- container from a -hit- document
returned from a query into the executable/function index.
@param hit the hit document
@param exeRecord is the executable containing this function
@param manager is the DescriptionManager container
@param sigRecord is the (optional) SignatureRecord to attach to the new function
@return the new FunctionDescription
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/elastic/ElasticDatabase.java