GetConfigContext createGetConfigContext(Optional<TenantName> optionalTenant, JRTServerConfigRequest request, Trace trace) {
        if ("*".equals(request.getConfigKey().getConfigId())) {
            return GetConfigContext.create(ApplicationId.global(), superModelRequestHandler, trace);
        }
        // TODO: Look into if this fallback really is needed
        TenantName tenant = optionalTenant.orElse(TenantName.defaultName());
        Optional<RequestHandler> requestHandler = getRequestHandler(tenant);
        if (requestHandler.isEmpty()) {
            String msg = TenantRepository.logPre(tenant) + "Unable to find request handler for tenant '" + tenant  +
                         "'. Request from host '" + request.getClientHostName() + "'";
            metrics.incUnknownHostRequests();
            trace.trace(TRACELEVEL, msg);
            log.log(WARNING, msg);
            return GetConfigContext.empty();
        }
        RequestHandler handler = requestHandler.get();
        ApplicationId applicationId = handler.resolveApplicationId(request.getClientHostName());
        // TODO: Look into if this fallback really is needed
        if (applicationId == null && tenant.equals(TenantName.defaultName()))
                applicationId = ApplicationId.defaultId();
        if (trace.shouldTrace(TRACELEVEL_DEBUG)) {
            trace.trace(TRACELEVEL_DEBUG, "Host '" + request.getClientHostName() + "' should have config from application '" + applicationId + "'");
        }
        return GetConfigContext.create(applicationId, handler, trace);
    }
Returns the context for this request, or null if the server is not properly set up with handlers
configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java