code: protected <K, V> StatefulRedisPubSubConnectionImpl<K, V> newStatefulRedisPubSubConnection(PubSubEndpoint<K, V> endpoint,
              RedisChannelWriter channelWriter, RedisCodec<K, V> codec, Duration timeout) {
          return new StatefulRedisPubSubConnectionImpl<>(endpoint, channelWriter, codec, timeout);
      }
docs: Create a new instance of {@link StatefulRedisPubSubConnectionImpl} or a subclass.
  <p>
  Subclasses of {@link RedisClient} may override that method.
  
  @param endpoint the endpoint
  @param channelWriter the channel writer
  @param codec codec
  @param timeout default timeout
  @param <K> Key-Type
  @param <V> Value Type
  @return new instance of StatefulRedisPubSubConnectionImpl