public void blockUntilShutdown() throws InterruptedException {
        try {
            whenClosed().get();
        } catch (ExecutionException e) {
            throw new CompletionException(e.toString(), Exceptions.peel(e));
        }
    }
Waits until the result of {@link CompletableFuture} which is completed after the {@link #close()} or
{@link #closeAsync()} operation is completed.
core/src/main/java/com/linecorp/armeria/server/Server.java