Marshalling/UnMarshalling of Collections of JaxB objects only appears to work for methods that explicity return an object of type Collection... e.g.
public HashSet<Tag> getTags();
Where Tag is a JaxB annotated object. This will work and JaxB will marshall/unmarshall appropriately. However replace the return type with java.lang.Object:
public java.lang.Object getTags();
and attempting to call the method results in "Could not find MessageBodyWriter for response object of type: java.util.HashSet of media type: text/xml".
Adding this capability would mean provide better support for one method returning different representations depending upon content negotiation e.g.
public abstract Object getTagsCanonical(@HeaderParam("Accept") String mediaType);
This method could look at the mediatype and return a Feed, a ModelAndView or a collection of tags accordingly.