text: public override void ReadBytes(byte[] b, int offset, int len){while (len > 0){int numLeft = limit - upto;if (numLeft < len){Array.Copy(buffer, upto, b, offset, numLeft);offset += numLeft;len -= numLeft;NextSlice();}else{Array.Copy(buffer, upto, b, offset, len);upto += len;break;}}}