public override void Close() { try { try { finish(); } catch (System.IO.IOException) { // swallow exceptions? } } finally { end(); if (!_leaveOpen) _stream.Close(); _stream = null; } }