private SimilarFunctionQueryService getQueryService(Program program, BSimServerInfo serverInfo)
			throws QueryDatabaseException {

		SimilarFunctionQueryService queryService =
			queryServiceFactory.createSFQueryService(program);
		queryService.initializeDatabase(serverInfo.toURLString());
		String errorMessage = queryService.getDatabaseCompatibility();
		if ((queryService.getLastError() != null) &&
			(queryService.getLastError().category == ErrorCategory.Nodatabase)) {
			errorMessage = "Database does not exist";
		}
		if (errorMessage != null) {
			throw new QueryDatabaseException(errorMessage);
		}
		return queryService;
	}
Get an {@link AutoCloseable} {@link SimilarFunctionQueryService} instance which will
be connected to current BSim Server.  Caller is responsible for closing instance.
@param program program containing functions to be searched
@return new {@link SimilarFunctionQueryService} instance
@throws QueryDatabaseException if error occurs connecting to database
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/gui/BSimSearchPlugin.java