No sure, if we should do it this way. If no write mode is explicitly specified, the system default write mode will be used. If we decide to introduce something like a client option to set the write mode for a session, this would be overwritten by the system default. 
Why not having two internalWriteAsCsv methods, one with explicit write mode and one without?