Takes a marshalled byte array and converts to a Java data object.
Will read from the inputstream and converty contents to java Object.
inputStream stream to read data from to do conversion.
metadata can be any transport specific metadata (such as headers from http transport).
This can be null, depending on if transport supports metadata.
java.io.IOException all specific i/o exceptions need to be thrown as this.
java.lang.ClassNotFoundException will be thrown if during the unmarshalling process can not find
a specific class within classloader.
Set the class loader to use for unmarhsalling. This may be needed when need to have access to
class definitions that are not part of this unmarshaller's parent classloader (especially
when doing remote classloading).