protected override void Dispose(bool disposing) { try { IDisposable disposableReader = innerReader as IDisposable; if (disposableReader != null) disposableReader.Dispose(); } finally { base.Dispose(disposing); } }