@Override
 public <D extends Document<?>> List<D> getFromReplica(
     D document, ReplicaMode type, long timeout, TimeUnit timeUnit) {
   return Blocking.blockForSingle(
       asyncBucket.getFromReplica(document, type).toList(), timeout, timeUnit);
 }
 @Override
 public <D extends Document<?>> List<D> getFromReplica(
     String id, ReplicaMode type, Class<D> target, long timeout, TimeUnit timeUnit) {
   return Blocking.blockForSingle(
       asyncBucket.getFromReplica(id, type, target).toList(), timeout, timeUnit);
 }
 @Override
 public List<JsonDocument> getFromReplica(
     String id, ReplicaMode type, long timeout, TimeUnit timeUnit) {
   return Blocking.blockForSingle(
       asyncBucket.getFromReplica(id, type).toList(), timeout, timeUnit);
 }