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. A null schema may be specified
with Void.