private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
        vendorData = VendorExtensionUtils.readObject(in,vendorDataDeserializationEnabled);

        if (in.readBoolean()) {
            // attempt to deserialize the cause
            try {
                cause = (Throwable)((MarshalledObject)in.readObject()).get();
            }
            catch (ClassNotFoundException cnfe) {
                // must have been a class not in standard classloaders and not remotely loadable
                // do nothing now, we'll replace it with the string version included next in the stream
            }
            String causeString = in.readUTF();
            if (cause == null) {
                // replace the cause with a generic exception
                // that includes the original stack trace in its message
                cause = new Exception("Undeserializable cause, original cause stack trace follows: " + causeString);
            }
        }
    }
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException {
        vendorData = VendorExtensionUtils.readObject(in,vendorDataDeserializationEnabled);

        if (in.readBoolean()) {
            
            try {
                cause = (Throwable)((MarshalledObject)in.readObject()).get();
            }
            catch (ClassNotFoundException cnfe) {
                
                
            }
            String causeString = in.readUTF();
            if (cause == null) {
                
                
                cause = new Exception("Undeserializable cause, original cause stack trace follows: " + causeString);
            }
        }
    }
private void readObject ( ObjectInputStream in ) throws IOException , ClassNotFoundException { vendorData = VendorExtensionUtils . readObject ( in , vendorDataDeserializationEnabled ) ; if ( in . readBoolean ( ) ) { // attempt to deserialize the cause try { cause = ( Throwable ) ( ( MarshalledObject ) in . readObject ( ) ) . get ( ) ; } catch ( ClassNotFoundException cnfe ) { // must have been a class not in standard classloaders and not remotely loadable // do nothing now, we'll replace it with the string version included next in the stream } String causeString = in . readUTF ( ) ; if ( cause == null ) { // replace the cause with a generic exception // that includes the original stack trace in its message cause = new Exception ( "Undeserializable cause, original cause stack trace follows: " + causeString ) ; } } }
special handling of deserialization
special handling of deserialization