Если у нас есть переменная AsyncResponse response, мы можем написать что-то вроде: CompletableFuture#thenAccept(response::resume).
Я не понимаю, как мы можем передать метод boolean resume(Object response) из класса AsyncResponse в thenAccept(), который принимает Consumer в качестве параметра, потому что Consumer возвращает void.
«Как мы можем передать ...» - игнорируя возвращаемое значение.




Ссылка на метод просто проигнорирует возвращаемое значение. Если вы расширите ссылку на метод до анонимного внутреннего класса, это будет выглядеть так:
completableFuture.thenAccept(new Consumer<Object>() {
@Override
public void accept(Object object) {
response.resume(object);
}
});
completableFuture.thenAccept(response::resume); хватило бы.
Можете попробовать использовать thenApply (...)?