Interesting question. The flush method isn't exposed because internally it is not always the case that it is appropriate to flush, but I guess there's not a huge reason not to expose this and just let it no-op. On the other hand:
- it is already a lightweight wrapper around a stream: you could dispose and recreate
- or you could just keep writing and make full use of the extra buffering