public void read(DataInputStream is) throws Exception
{
// need to use the thread context class loader, otherwise deserialization of various
// remoting and messaging things will fail in a scoped domain
ObjectInputStream ois =
new ObjectInputStreamWithClassLoader(is, Thread.currentThread().getContextClassLoader());
payload = ois.readObject();
}