class AvroWrapperCoder extends StandardCoder<WrapperT> {

  public static <WrapperT extends AvroWrapper<DatumT>, DatumT>
  AvroWrapperCoder<WrapperT, DatumT>of(Class<WrapperT> wrapperType, AvroCoder<DatumT> datumCoder) {
    return new AvroWrapperCoder<>(wrapperType, datumCoder);
  }

  private  AvroWrapperCoder(Class<WrapperT> wrapperType, AvroCoder<DatumT> datumCoder);

}