private void triggerDownload(Request req) {
        req.detach();
        rpcAuthorizer.authorizeFileRequest(req)
                     .thenRun(() -> { // okay to do in authorizer thread as downloadFromSource is async
                         if (req.parameters().size() < 2) {
                             log.log(FINE, () -> "No source to download from in triggerDownload()");
                             return;
                         }
                         // Download directly from the source that has the file reference, which
                         // is supplied as a parameter in request
                         List<String> fileReferenceStrings = List.of(req.parameters().get(0).asStringArray());
                         var peerSpec = new Spec(req.parameters().get(1).asString());
                         fileReferenceStrings.stream()
                                             .map(FileReference::new)
                                             .forEach(fileReference -> downloadFromSource(fileReference, getCanonicalHostName(), peerSpec));
                     });
        req.returnValues().add(new Int32Value(0));
        req.returnRequest();
    }
Returns true if empty sentinel config can be returned when a request from a host that is
not part of an application asks for sentinel config
configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java