Revert "avoid infinite recursion when reading a broken file"

Streams can legitimately be read more than once. (In ideal world, we
would keep the parsed data and just reuse it if/when the same stream
pointer was encountered again, instead of parsing it repeatedly. There
is a room for future improvement there :-)

This reverts commit 770e649b1b30e2b43e62d00ed06b4ff33f8305e0.