public static <T> ZstdCoder<T> of(Coder<T> innerCoder, byte[] dict, int level) {
    return new ZstdCoder<>(innerCoder, dict, level);
  }
@Test
  public void testEncodingNotBuffered() throws Exception {
    // This test ensures that the coder does not buffer any data from the inner stream.
    // This is not of much importance today, since the coder relies on direct compression and uses
    // ByteArrayCoder to encode the resulting byte[], but this may change if the coder switches to
    // stream based compression in which case the stream must not buffer input from the inner
    // stream.
    for (String value : TEST_VALUES) {
      CoderProperties.coderDecodeEncodeEqual(
          KvCoder.of(TEST_CODER, StringUtf8Coder.of()), KV.of(value, value));
    }
  }