@Override
    public final O execute(ClientRequestContext ctx, I req) throws Exception {
        final RetryConfig<O> config = mapping.get(ctx, req);
        requireNonNull(config, "mapping.get() returned null");

        final State state = new State(config, ctx.responseTimeoutMillis());
        ctx.setAttr(STATE, state);
        return doExecute(ctx, req);
    }
Creates a new instance that decorates the specified {@link Client}.
core/src/main/java/com/linecorp/armeria/client/retry/AbstractRetryingClient.java