Jena readers do not provide any gaurantees as to the state of the stream in terms of byte position after parsing. RIOT, and some original readers, also close the stream, on the principle the stream is no longer usable.
But Java zip streams signal end of stream but can continue to be read by moving to the next zip file entry. Closing the stream after parsing is wrong in this case.
The original report noted a wrapper can be used that does not pass through the .close.