@Override public void handle(Request request, Response response) throws Exception { userSession.checkLoggedIn(); List<String> logins = request.mandatoryParamAsStrings(PARAM_LOGINS); response.stream().setMediaType(MediaTypes.PROTOBUF); ScannerInput.User.Builder userBuilder = ScannerInput.User.newBuilder(); OutputStream output = response.stream().output(); try { for (Iterator<UserDoc> userDocIterator = userIndex.selectUsersForBatch(logins); userDocIterator.hasNext(); ) { handleUser(userDocIterator.next(), userBuilder, output); } } finally { output.close(); } }