text: public override void ReadBytes(byte[] b, int offset, int len){Debug.Assert(b.Length >= offset + len);int offsetEnd = offset + len;while (true){int blockLeft = outerInstance.blockSize - currentBlockUpto;int left = offsetEnd - offset;if (blockLeft < left){System.Buffer.BlockCopy(currentBlock, currentBlockUpto, b, offset, blockLeft);NextBlock();offset += blockLeft;}else{System.Buffer.BlockCopy(currentBlock, currentBlockUpto, b, offset, left);currentBlockUpto += left;break;}}}