s.apache.org/bugzilla/show_bug.cgi?id=50779">Bugzilla 50779 demonstrate that a CONTINUE break can appear right in between two bytes of a unicode character or between two bytes of a
short
. The problematic portion of the data is in a Asian Phonetic Settings Block (ExtRst) of a UnicodeString.
{@link RecordInputStream} greedily requests the bytes to be read and stumbles on such files with a"Not enough data (1) to read requested (2) bytes" exception. The ContinuableRecordInput
class circumvents this "type boundary" rule and reads data byte-by-byte rolling over CONTINUE if necessary.
YK: For now (March 2011) this class is only used to read
@link org.apache.poi.hssf.record.common.UnicodeString.ExtRst} blocks of a UnicodeString.