public override void Close() { if (!base.IsAtEof) { if (drain == null) { drain = new byte[65536]; } byte[] buffer = drain; int drained = 0; while (!base.IsAtEof) { drained += base.Read(buffer, 0, buffer.Length); } } base.Close(); } }