@Override
    public CompletableFuture<T> future() {
        return future;
    }
A helper closure for failover, which is an immutable object.
A new object will be created when a retry operation occurs
and {@code retriesLeft} will decrease by 1, until
{@code retriesLeft} == 0.

@author jiachun.fjc
jraft-rheakv/rheakv-core/src/main/java/com/alipay/sofa/jraft/rhea/client/failover/impl/FailoverClosureImpl.java