@Retention(value=RUNTIME)
@Target(value={TYPE,PARAMETER,METHOD})
@Documented
public @interface Union
Declares that a Java type should be represented by an Avro union schema.
 May be used for base classes or interfaces whose instantiable subclasses can
 be listed in the parameters to the @Union annotation.  If applied to method
 parameters this determines the reflected message parameter type.  If applied
 to a method, this determines its return type.