class MapCoder extends StructuredCoder<Map<K, V>> {

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

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

}