readExternal
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
Custom Serialization logic.
If possible, we try to keep the original Exception form the Container side.
If we can't load the Exception on the client side, return a ArquillianProxyException that keeps the original stack trace etc.
We can't use in.readObject() on the Throwable cause, because if a ClassNotFoundException is thrown, the stream is marked with the exception
and that stream is the same stream that is deserializing us, so we will fail outside of our control. Store the Throwable cause as a
serialized byte array instead, so we can deserialize it outside of our own stream.
- Throws:
java.io.IOException
java.lang.ClassNotFoundException