This resettable buffered output stream will buffer everything until the given buffer size, regardless of flush calls. Only when the buffer size is exceeded, or when close is called, then the buffer will be actually flushed.
There is a {@link #reset()} method which enables the developer to reset the buffer, as long as it's not flushed yet,which can be determined by {@link #isResettable()}.
@author Bauke Scholtz
@see ResettableBufferedWriter