class KvCoder extends StructuredCoder<KV<K, V>> {

  public static <K, V> KvCoder<K, V> of(Coder<K> keyCoder, Coder<V> valueCoder) {
    return new KvCoder<>(keyCoder, valueCoder);
  }

  private  KvCoder(Coder<K> keyCoder, Coder<V> valueCoder);

}