@UnstableApi
    public static <U> UnmodifiableFuture<U> fromNetty(Future<U> future) {
        requireNonNull(future, "future");

        final UnmodifiableFuture<U> cf = new UnmodifiableFuture<>();
        if (future.isDone()) {
            toCompletableFuture(future, cf);
        } else {
            future.addListener((Future<U> future0) -> toCompletableFuture(future0, cf));
        }
        return cf;
    }
Returns an {@link UnmodifiableFuture} which will be completed when the specified
Netty's {@link Future} is completed.
core/src/main/java/com/linecorp/armeria/common/util/UnmodifiableFuture.java