private static State state(ClientRequestContext ctx) {
        final State state = ctx.attr(STATE);
        assert state != null;
        return state;
    }
Creates a new derived {@link ClientRequestContext}, replacing the requests.
If {@link ClientRequestContext#endpointGroup()} exists, a new {@link Endpoint} will be selected.
core/src/main/java/com/linecorp/armeria/client/retry/AbstractRetryingClient.java