public void Close()
{
if (Closed) return;
if (_stage > 0 || _messages.Count > 0) CreateBufferedMessage();
Closed = true;
Flush();
}
public virtual void Dispose() { Complete(); Writer.Close(); }