code: public List<Object> syncAndReturnAll() {
          final List<Object> formatted = new ArrayList<Object>();
  
          if (client == null) {
              return formatted;
          }
  
          List<Object> unformatted = null;
          try {
              unformatted = client.getAll();
          } catch (Exception e) {
              this.brokenResource = true;
              throw new GatewayException("gateway=" + this.server + ", connect=" + this.redis.connectInfo(), e);
          }
  
          if (unformatted == null) {
              return formatted;
          }
  
          for (Object o : unformatted) {
              try {
                  formatted.add(generateResponse(o).get());
              } catch (JedisDataException e) {
                  formatted.add(e);
              }
          }
  
          return formatted;
      }
docs: Syncronize pipeline by reading all responses. This operation close the
  pipeline. Whenever possible try to avoid using this version and use
  Pipeline.sync() as it won't go through all the responses and generate the
  right response type (usually it is a waste of time).
  
  @return A list of all the responses in the order you executed them.
  @see sync