That makes good sense. I have been using opencsv for quite some time and haven't looked at the documentation to realize that I should move from the constructors to the builders. I'll be updating my code to use them or the parser builder that you recommend. I too have compatibility to worry about, so I need to look carefully at the parser builder and make sure I won't have problems with existing data files.
The default constructor for CSVWriter and CSVReader are inconsistent
My specific case is that I want to represent NULL with an explicit string value. If a non-null value evaluates to the NULL string value, then prepend the NULL string value. Then when loading the CSV file back if the value read is the NULL string value then insert a NULL into the database. If the value read starts with NULL string value, then remove it and insert into the database. So it's both an export and import. At this point opencsv doesn't do it's own import, so I suspect this isn't something...
I did some more work on this and realized that the solution I need is likely more specialized than would make sense to add to the library. I believe I can handle this by writing a custom ResultSetHelper class.
Patch to support modifying the default value of ResultSetHelperService
For authentication they have a command line program that does it by redirecting the user to the OWA web page and then the tool captures the appropriate authentication bits. https://github.com/virtuald/ews-proxy/blob/master/cmd/ews-proxy/main.go#L43 It may be possible for DavMail to pretend to be a web browser and fill in the form.
There's an example of converting this JSON/REST data to EWS and it seems to be rendering full MIME message content. https://github.com/virtuald/ews-proxy
VOTE: avidemux