@JRubyMethod
public IRubyObject marshal_load(ThreadContext context, IRubyObject str) {
try {
ByteList byteList = str.convertToString().getByteList();
ByteArrayInputStream bais = new ByteArrayInputStream(byteList.getUnsafeBytes(), byteList.getBegin(), byteList.getRealSize());
ObjectInputStream ois = new JRubyObjectInputStream(context.getRuntime(), bais);
dataWrapStruct(ois.readObject());
return this;
} catch (IOException ioe) {
throw context.getRuntime().newIOErrorFromException(ioe);
} catch (ClassNotFoundException cnfe) {