Thank you for both your replies. AFAITC the mixin is the way that lets me serialize (to CSV, to JSON, etc) the existing bean provided by the third party or other source as-is, without touching it. With subclassing, instead, I would have to recreate each instance, because I cannot directly cast the parent instance to the one from my subclass which holds the CSV-related annotations. And subclassing forcefully requires the ability to annotate (at least) the getters. In my Jackson example, I'm using...
Allow annotations to be used on methods (getters?)