An OptionalDataException is
thrown during object deserialization to indicate that primitive data has
been encountered instead of objects. Either the eof
flag is true, or the length
variable indicates the number of bytes that are available to be read.