{
ois = new ContextObjectInputStream(bais) ;
}
catch (final IOException ioe)
{
throw new DeferredDeserialisationException("Error creating object input stream", ioe) ;
}
try
{
value = (Serializable)ois.readObject() ;
}
catch (final IOException ioe)
{
throw new DeferredDeserialisationException("Error reading object input stream", ioe) ;
}
catch (final ClassNotFoundException cnfe)
{
throw new DeferredDeserialisationException("Error constructing object value", cnfe) ;
}
serialisedForm = null ;
}
return value ;
}