@Documented
 @Retention(value=RUNTIME)
 @Target(value=TYPE)
public @interface DefaultCoder
DefaultCoder annotation specifies a Coder class to handle encoding and
 decoding instances of the annotated class.
 The specified Coder must have the following method:
 
  public static CoderProvider getCoderProvider().
 
 Coders specified explicitly via PCollection.setCoder(org.apache.beam.sdk.coders.Coder<T>) take precedence, followed by
 Coders found at runtime via CoderRegistry.getCoder(java.lang.Class<T>). See CoderRegistry for a more
 detailed discussion of the precedence rules.
@CheckForNull public abstract java.lang.Class<? extends Coder> value