Asynchronous timeouts with CompletableFutures in Java 8 and Java 9 | Hacker News Reader