static <T> AsyncLoaderBuilder<T> builder(
            Function<@Nullable ? super T, ? extends CompletableFuture<? extends T>> loader) {
        //noinspection unchecked
        return new AsyncLoaderBuilder<>((Function<T, CompletableFuture<T>>) loader);
    }
Returns a newly created {@link AsyncLoaderBuilder} with the specified loader.

@param loader function to load value. {@code T} is the previously cached value.
core/src/main/java/com/linecorp/armeria/common/util/AsyncLoader.java