@Override
            public CompletableFuture<ResponseEntity<T>> as(HttpResponse response) {
                requireNonNull(response, "response");
                return response.aggregate().thenApply(aggregated -> {
                    for (Entry<Predicate<AggregatedHttpResponse>,
                            ResponseAs<AggregatedHttpResponse, ResponseEntity<T>>>
                            converter : converters) {
                        if (converter.getKey().test(aggregated)) {
                            return converter.getValue().as(aggregated);
                        }
                    }
                    return lastConverter.as(aggregated);
                });
            }
Returns {@link FutureResponseAs} that deserializes the {@link HttpResponse} based on the configured
deserializers so far and deserializes to the {@link TypeReference} lastly using the {@link ObjectMapper}
if none of the {@link Predicate} of configured deserializers pass.
core/src/main/java/com/linecorp/armeria/client/JsonConditionalResponseAs.java