docs: private static <T> T getConnection(CompletableFuture<T> connectionFuture, Object context) {
  
          try {
              return connectionFuture.get();
          } catch (InterruptedException e) {
              Thread.currentThread().interrupt();
              throw RedisConnectionException.create(context.toString(), e);
          } catch (Exception e) {
  
              if (e instanceof ExecutionException) {
  
                  // filter intermediate RedisConnectionException exceptions that bloat the stack trace
                  if (e.getCause() instanceof RedisConnectionException
                          && e.getCause().getCause() instanceof RedisConnectionException) {
                      throw RedisConnectionException.create(context.toString(), e.getCause().getCause());
                  }
  
                  throw RedisConnectionException.create(context.toString(), e.getCause());
              }
  
              throw RedisConnectionException.create(context.toString(), e);
          }
      }