public override int Read(byte[] buffer, int offset, int count) { if(count > Remaining)count = Remaining; int read = source.Read(buffer, offset, count); Remaining -= read; return read; }