public Object unmarshalFrom(Ruby runtime, RubyClass type, UnmarshalStream unmarshalStream) throws IOException { RubySystemCallError exc = (RubySystemCallError) type.allocate(); unmarshalStream.registerLinkTarget(exc); unmarshalStream.defaultVariablesUnmarshal(exc); exc.message = (IRubyObject) exc.removeInternalVariable("mesg"); exc.errno = (IRubyObject) exc.removeInternalVariable("errno"); exc.set_backtrace((IRubyObject) exc.removeInternalVariable("bt")); return exc; }