@Override public void getCurrentSegments(StreamInfo request, StreamObserver<SegmentRanges> responseObserver) { log.info("getCurrentSegments called for stream {}/{}.", request.getScope(), request.getStream()); authenticateExecuteAndProcessResults(() -> this.authHelper.checkAuthorizationAndCreateToken(request.getScope() + "/" + request.getStream(), AuthHandler.Permissions.READ_UPDATE), delegationToken -> controllerService.getCurrentSegments(request.getScope(), request.getStream()) .thenApply(segmentRanges -> SegmentRanges.newBuilder() .addAllSegmentRanges(segmentRanges) .setDelegationToken(delegationToken) .build()), responseObserver); }