The problem only arise if the Handler doesn't keep a reference to the outputstream. I was quite surprised that the code doesn't keep it for this kind of change (note this is not the case for every handler implementation). I used to see a Writer as a commodity over an outputstream.
If you think about wrapping the writer in a kind of OutputStream why don't just keep a ref to the initial OutputStream (by he way this would requires to know the encoding of the wrapped writer)?