code: public <K, V> DisqueConnection<K, V> connect(RedisCodec<K, V> codec, DisqueURI disqueURI,
              SocketAddressSupplierFactory socketAddressSupplierFactory) {
  
          assertNotNull(disqueURI);
          checkValidDisqueURI(disqueURI);
          return connect0(codec, disqueURI, socketAddressSupplierFactory, disqueURI.getTimeout(), disqueURI.getUnit());
      }
docs: Open a new connection to a Disque server using the supplied {@link DisqueURI} and the supplied {@link RedisCodec codec}
  to encode/decode keys. Command timeouts are applied from the given {@link DisqueURI#getTimeout()} settings.
  
  @param codec use this codec to encode/decode keys and values, must not be {@literal null}
  @param disqueURI the Disque server to connect to, must not be {@literal null}
  @param socketAddressSupplierFactory factory for {@link SocketAddress} for connecting to Disque based on multiple
  connection points.
  @param <K> Key type.
  @param <V> Value type.
  
  @return A new connection.