{
throw new InvalidInputValueException(INPUT_DATA, first);
}
BytesInputStream bytes = new BytesInputStream(INPUT_DATA, data);
STypeInputStream input = new STypeInputStream(bytes);
// code block below throws :
// - EOFException when the end of the data has been reached or
// - another exception if there was a problem reading the data
while (true)
{
Object block = input.read();
if (block instanceof ObjectInputStream)
{
ObjectInputStream obj = (ObjectInputStream) block;
ObjectSerialiser ser = mSerialisers.getSerialiser(obj.getType());
if (ser == null)