public class org.springframework.remoting.caucho.HessianExporter extends org.springframework.remoting.support.RemoteExporter implements org.springframework.beans.factory.InitializingBean
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.remoting.caucho.HessianExporter
  super_class: org.springframework.remoting.support.RemoteExporter
{
  public static final java.lang.String CONTENT_TYPE_HESSIAN;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "application/x-hessian"

  private com.caucho.hessian.io.SerializerFactory serializerFactory;
    descriptor: Lcom/caucho/hessian/io/SerializerFactory;
    flags: (0x0002) ACC_PRIVATE

  private com.caucho.hessian.io.HessianRemoteResolver remoteResolver;
    descriptor: Lcom/caucho/hessian/io/HessianRemoteResolver;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private org.apache.commons.logging.Log debugLogger;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  private com.caucho.hessian.server.HessianSkeleton skeleton;
    descriptor: Lcom/caucho/hessian/server/HessianSkeleton;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
         0: .line 57
            aload 0 /* this */
            invokespecial org.springframework.remoting.support.RemoteExporter.<init>:()V
         1: .line 65
            aload 0 /* this */
            new com.caucho.hessian.io.SerializerFactory
            dup
            invokespecial com.caucho.hessian.io.SerializerFactory.<init>:()V
            putfield org.springframework.remoting.caucho.HessianExporter.serializerFactory:Lcom/caucho/hessian/io/SerializerFactory;
         2: .line 57
            return
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/remoting/caucho/HessianExporter;

  public void setSerializerFactory(com.caucho.hessian.io.SerializerFactory);
    descriptor: (Lcom/caucho/hessian/io/SerializerFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
        start local 1 // com.caucho.hessian.io.SerializerFactory serializerFactory
         0: .line 84
            aload 0 /* this */
            aload 1 /* serializerFactory */
            ifnull 1
            aload 1 /* serializerFactory */
            goto 2
      StackMap locals:
      StackMap stack: org.springframework.remoting.caucho.HessianExporter
         1: new com.caucho.hessian.io.SerializerFactory
            dup
            invokespecial com.caucho.hessian.io.SerializerFactory.<init>:()V
      StackMap locals: org.springframework.remoting.caucho.HessianExporter com.caucho.hessian.io.SerializerFactory
      StackMap stack: org.springframework.remoting.caucho.HessianExporter com.caucho.hessian.io.SerializerFactory
         2: putfield org.springframework.remoting.caucho.HessianExporter.serializerFactory:Lcom/caucho/hessian/io/SerializerFactory;
         3: .line 85
            return
        end local 1 // com.caucho.hessian.io.SerializerFactory serializerFactory
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lorg/springframework/remoting/caucho/HessianExporter;
            0    4     1  serializerFactory  Lcom/caucho/hessian/io/SerializerFactory;
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
                   Name  Flags
      serializerFactory  

  public void setSendCollectionType(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
        start local 1 // boolean sendCollectionType
         0: .line 92
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.serializerFactory:Lcom/caucho/hessian/io/SerializerFactory;
            iload 1 /* sendCollectionType */
            invokevirtual com.caucho.hessian.io.SerializerFactory.setSendCollectionType:(Z)V
         1: .line 93
            return
        end local 1 // boolean sendCollectionType
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/springframework/remoting/caucho/HessianExporter;
            0    2     1  sendCollectionType  Z
    MethodParameters:
                    Name  Flags
      sendCollectionType  

  public void setAllowNonSerializable(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
        start local 1 // boolean allowNonSerializable
         0: .line 100
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.serializerFactory:Lcom/caucho/hessian/io/SerializerFactory;
            iload 1 /* allowNonSerializable */
            invokevirtual com.caucho.hessian.io.SerializerFactory.setAllowNonSerializable:(Z)V
         1: .line 101
            return
        end local 1 // boolean allowNonSerializable
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/springframework/remoting/caucho/HessianExporter;
            0    2     1  allowNonSerializable  Z
    MethodParameters:
                      Name  Flags
      allowNonSerializable  

  public void setRemoteResolver(com.caucho.hessian.io.HessianRemoteResolver);
    descriptor: (Lcom/caucho/hessian/io/HessianRemoteResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
        start local 1 // com.caucho.hessian.io.HessianRemoteResolver remoteResolver
         0: .line 108
            aload 0 /* this */
            aload 1 /* remoteResolver */
            putfield org.springframework.remoting.caucho.HessianExporter.remoteResolver:Lcom/caucho/hessian/io/HessianRemoteResolver;
         1: .line 109
            return
        end local 1 // com.caucho.hessian.io.HessianRemoteResolver remoteResolver
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/springframework/remoting/caucho/HessianExporter;
            0    2     1  remoteResolver  Lcom/caucho/hessian/io/HessianRemoteResolver;
    MethodParameters:
                Name  Flags
      remoteResolver  

  public void setDebug(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
        start local 1 // boolean debug
         0: .line 117
            aload 0 /* this */
            iload 1 /* debug */
            ifeq 1
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.logger:Lorg/apache/commons/logging/Log;
            goto 2
      StackMap locals:
      StackMap stack: org.springframework.remoting.caucho.HessianExporter
         1: aconst_null
      StackMap locals: org.springframework.remoting.caucho.HessianExporter int
      StackMap stack: org.springframework.remoting.caucho.HessianExporter org.apache.commons.logging.Log
         2: putfield org.springframework.remoting.caucho.HessianExporter.debugLogger:Lorg/apache/commons/logging/Log;
         3: .line 118
            return
        end local 1 // boolean debug
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/springframework/remoting/caucho/HessianExporter;
            0    4     1  debug  Z
    MethodParameters:
       Name  Flags
      debug  

  public void afterPropertiesSet();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
         0: .line 123
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.prepare:()V
         1: .line 124
            return
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/remoting/caucho/HessianExporter;

  public void prepare();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
         0: .line 130
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.checkService:()V
         1: .line 131
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.checkServiceInterface:()V
         2: .line 132
            aload 0 /* this */
            new com.caucho.hessian.server.HessianSkeleton
            dup
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.getProxyForService:()Ljava/lang/Object;
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.getServiceInterface:()Ljava/lang/Class;
            invokespecial com.caucho.hessian.server.HessianSkeleton.<init>:(Ljava/lang/Object;Ljava/lang/Class;)V
            putfield org.springframework.remoting.caucho.HessianExporter.skeleton:Lcom/caucho/hessian/server/HessianSkeleton;
         3: .line 133
            return
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/springframework/remoting/caucho/HessianExporter;

  public void invoke(java.io.InputStream, java.io.OutputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
        start local 1 // java.io.InputStream inputStream
        start local 2 // java.io.OutputStream outputStream
         0: .line 143
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.skeleton:Lcom/caucho/hessian/server/HessianSkeleton;
            ldc "Hessian exporter has not been initialized"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 144
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.skeleton:Lcom/caucho/hessian/server/HessianSkeleton;
            aload 1 /* inputStream */
            aload 2 /* outputStream */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.doInvoke:(Lcom/caucho/hessian/server/HessianSkeleton;Ljava/io/InputStream;Ljava/io/OutputStream;)V
         2: .line 145
            return
        end local 2 // java.io.OutputStream outputStream
        end local 1 // java.io.InputStream inputStream
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/springframework/remoting/caucho/HessianExporter;
            0    3     1   inputStream  Ljava/io/InputStream;
            0    3     2  outputStream  Ljava/io/OutputStream;
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
              Name  Flags
      inputStream   
      outputStream  

  protected void doInvoke(com.caucho.hessian.server.HessianSkeleton, java.io.InputStream, java.io.OutputStream);
    descriptor: (Lcom/caucho/hessian/server/HessianSkeleton;Ljava/io/InputStream;Ljava/io/OutputStream;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // org.springframework.remoting.caucho.HessianExporter this
        start local 1 // com.caucho.hessian.server.HessianSkeleton skeleton
        start local 2 // java.io.InputStream inputStream
        start local 3 // java.io.OutputStream outputStream
         0: .line 157
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.overrideThreadContextClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* originalClassLoader */
        start local 4 // java.lang.ClassLoader originalClassLoader
         1: .line 159
            aload 2 /* inputStream */
            astore 5 /* isToUse */
        start local 5 // java.io.InputStream isToUse
         2: .line 160
            aload 3 /* outputStream */
            astore 6 /* osToUse */
        start local 6 // java.io.OutputStream osToUse
         3: .line 162
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.debugLogger:Lorg/apache/commons/logging/Log;
            ifnull 18
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.debugLogger:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 18
         4: .line 163
            aconst_null
            astore 7
            aconst_null
            astore 8
         5: new java.io.PrintWriter
            dup
            new org.springframework.util.CommonsLogWriter
            dup
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.debugLogger:Lorg/apache/commons/logging/Log;
            invokespecial org.springframework.util.CommonsLogWriter.<init>:(Lorg/apache/commons/logging/Log;)V
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 9 /* debugWriter */
        start local 9 // java.io.PrintWriter debugWriter
         6: .line 165
            new com.caucho.hessian.io.HessianDebugInputStream
            dup
            aload 2 /* inputStream */
            aload 9 /* debugWriter */
            invokespecial com.caucho.hessian.io.HessianDebugInputStream.<init>:(Ljava/io/InputStream;Ljava/io/PrintWriter;)V
            astore 10 /* dis */
        start local 10 // com.caucho.hessian.io.HessianDebugInputStream dis
         7: .line 167
            new com.caucho.hessian.io.HessianDebugOutputStream
            dup
            aload 3 /* outputStream */
            aload 9 /* debugWriter */
            invokespecial com.caucho.hessian.io.HessianDebugOutputStream.<init>:(Ljava/io/OutputStream;Ljava/io/PrintWriter;)V
            astore 11 /* dos */
        start local 11 // com.caucho.hessian.io.HessianDebugOutputStream dos
         8: .line 168
            aload 10 /* dis */
            invokevirtual com.caucho.hessian.io.HessianDebugInputStream.startTop2:()V
         9: .line 169
            aload 11 /* dos */
            invokevirtual com.caucho.hessian.io.HessianDebugOutputStream.startTop2:()V
        10: .line 170
            aload 10 /* dis */
            astore 5 /* isToUse */
        11: .line 171
            aload 11 /* dos */
            astore 6 /* osToUse */
        end local 11 // com.caucho.hessian.io.HessianDebugOutputStream dos
        end local 10 // com.caucho.hessian.io.HessianDebugInputStream dis
        12: .line 172
            aload 9 /* debugWriter */
            ifnull 18
            aload 9 /* debugWriter */
            invokevirtual java.io.PrintWriter.close:()V
            goto 18
      StackMap locals: org.springframework.remoting.caucho.HessianExporter com.caucho.hessian.server.HessianSkeleton java.io.InputStream java.io.OutputStream java.lang.ClassLoader java.io.InputStream java.io.OutputStream java.lang.Throwable java.lang.Throwable java.io.PrintWriter
      StackMap stack: java.lang.Throwable
        13: astore 7
            aload 9 /* debugWriter */
            ifnull 14
            aload 9 /* debugWriter */
            invokevirtual java.io.PrintWriter.close:()V
        end local 9 // java.io.PrintWriter debugWriter
      StackMap locals:
      StackMap stack:
        14: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 8
            aload 7
            ifnonnull 16
            aload 8
            astore 7
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 7
            aload 8
            if_acmpeq 17
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        17: aload 7
            athrow
        18: .line 175
      StackMap locals:
      StackMap stack:
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.markSupported:()Z
            ifne 21
        19: .line 176
            new java.io.BufferedInputStream
            dup
            aload 5 /* isToUse */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 5 /* isToUse */
        20: .line 177
            aload 5 /* isToUse */
            iconst_1
            invokevirtual java.io.InputStream.mark:(I)V
        21: .line 180
      StackMap locals:
      StackMap stack:
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.read:()I
            istore 7 /* code */
        start local 7 // int code
        22: .line 187
            iload 7 /* code */
            bipush 72
            if_icmpne 31
        23: .line 189
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.read:()I
            istore 8 /* major */
        start local 8 // int major
        24: .line 190
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.read:()I
            istore 9 /* minor */
        start local 9 // int minor
        25: .line 191
            iload 8 /* major */
            iconst_2
            if_icmpeq 27
        26: .line 192
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* major */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 9 /* minor */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is not understood"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 194
      StackMap locals: int int int
      StackMap stack:
            new com.caucho.hessian.io.Hessian2Input
            dup
            aload 5 /* isToUse */
            invokespecial com.caucho.hessian.io.Hessian2Input.<init>:(Ljava/io/InputStream;)V
            astore 10 /* in */
        start local 10 // com.caucho.hessian.io.AbstractHessianInput in
        28: .line 195
            new com.caucho.hessian.io.Hessian2Output
            dup
            aload 6 /* osToUse */
            invokespecial com.caucho.hessian.io.Hessian2Output.<init>:(Ljava/io/OutputStream;)V
            astore 11 /* out */
        start local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        29: .line 196
            aload 10 /* in */
            invokevirtual com.caucho.hessian.io.AbstractHessianInput.readCall:()I
            pop
        30: .line 197
            goto 47
        end local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        end local 10 // com.caucho.hessian.io.AbstractHessianInput in
        end local 9 // int minor
        end local 8 // int major
        31: .line 198
      StackMap locals:
      StackMap stack:
            iload 7 /* code */
            bipush 67
            if_icmpne 37
        32: .line 200
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.reset:()V
        33: .line 201
            new com.caucho.hessian.io.Hessian2Input
            dup
            aload 5 /* isToUse */
            invokespecial com.caucho.hessian.io.Hessian2Input.<init>:(Ljava/io/InputStream;)V
            astore 10 /* in */
        start local 10 // com.caucho.hessian.io.AbstractHessianInput in
        34: .line 202
            new com.caucho.hessian.io.Hessian2Output
            dup
            aload 6 /* osToUse */
            invokespecial com.caucho.hessian.io.Hessian2Output.<init>:(Ljava/io/OutputStream;)V
            astore 11 /* out */
        start local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        35: .line 203
            aload 10 /* in */
            invokevirtual com.caucho.hessian.io.AbstractHessianInput.readCall:()I
            pop
        36: .line 204
            goto 47
        end local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        end local 10 // com.caucho.hessian.io.AbstractHessianInput in
        37: .line 205
      StackMap locals:
      StackMap stack:
            iload 7 /* code */
            bipush 99
            if_icmpne 46
        38: .line 207
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.read:()I
            istore 8 /* major */
        start local 8 // int major
        39: .line 208
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.read:()I
            istore 9 /* minor */
        start local 9 // int minor
        40: .line 209
            new com.caucho.hessian.io.HessianInput
            dup
            aload 5 /* isToUse */
            invokespecial com.caucho.hessian.io.HessianInput.<init>:(Ljava/io/InputStream;)V
            astore 10 /* in */
        start local 10 // com.caucho.hessian.io.AbstractHessianInput in
        41: .line 210
            iload 8 /* major */
            iconst_2
            if_icmplt 44
        42: .line 211
            new com.caucho.hessian.io.Hessian2Output
            dup
            aload 6 /* osToUse */
            invokespecial com.caucho.hessian.io.Hessian2Output.<init>:(Ljava/io/OutputStream;)V
            astore 11 /* out */
        start local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        43: .line 212
            goto 47
        end local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        44: .line 214
      StackMap locals: int int com.caucho.hessian.io.AbstractHessianInput
      StackMap stack:
            new com.caucho.hessian.io.HessianOutput
            dup
            aload 6 /* osToUse */
            invokespecial com.caucho.hessian.io.HessianOutput.<init>:(Ljava/io/OutputStream;)V
            astore 11 /* out */
        start local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        45: .line 216
            goto 47
        end local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        end local 10 // com.caucho.hessian.io.AbstractHessianInput in
        end local 9 // int minor
        end local 8 // int major
        46: .line 218
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected 'H'/'C' (Hessian 2.0) or 'c' (Hessian 1.0) in hessian input at "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* code */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 10 // com.caucho.hessian.io.AbstractHessianInput in
        start local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        47: .line 221
      StackMap locals: org.springframework.remoting.caucho.HessianExporter com.caucho.hessian.server.HessianSkeleton java.io.InputStream java.io.OutputStream java.lang.ClassLoader java.io.InputStream java.io.OutputStream int top top com.caucho.hessian.io.AbstractHessianInput com.caucho.hessian.io.AbstractHessianOutput
      StackMap stack:
            aload 10 /* in */
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.serializerFactory:Lcom/caucho/hessian/io/SerializerFactory;
            invokevirtual com.caucho.hessian.io.AbstractHessianInput.setSerializerFactory:(Lcom/caucho/hessian/io/SerializerFactory;)V
        48: .line 222
            aload 11 /* out */
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.serializerFactory:Lcom/caucho/hessian/io/SerializerFactory;
            invokevirtual com.caucho.hessian.io.AbstractHessianOutput.setSerializerFactory:(Lcom/caucho/hessian/io/SerializerFactory;)V
        49: .line 223
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.remoteResolver:Lcom/caucho/hessian/io/HessianRemoteResolver;
            ifnull 51
        50: .line 224
            aload 10 /* in */
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianExporter.remoteResolver:Lcom/caucho/hessian/io/HessianRemoteResolver;
            invokevirtual com.caucho.hessian.io.AbstractHessianInput.setRemoteResolver:(Lcom/caucho/hessian/io/HessianRemoteResolver;)V
        51: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* skeleton */
            aload 10 /* in */
            aload 11 /* out */
            invokevirtual com.caucho.hessian.server.HessianSkeleton.invoke:(Lcom/caucho/hessian/io/AbstractHessianInput;Lcom/caucho/hessian/io/AbstractHessianOutput;)V
        52: .line 229
            goto 63
        53: .line 230
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        54: .line 232
            aload 10 /* in */
            invokevirtual com.caucho.hessian.io.AbstractHessianInput.close:()V
        55: .line 233
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.close:()V
        56: .line 234
            goto 58
        57: .line 235
      StackMap locals: org.springframework.remoting.caucho.HessianExporter com.caucho.hessian.server.HessianSkeleton java.io.InputStream java.io.OutputStream java.lang.ClassLoader java.io.InputStream java.io.OutputStream int top top com.caucho.hessian.io.AbstractHessianInput com.caucho.hessian.io.AbstractHessianOutput java.lang.Throwable
      StackMap stack: java.io.IOException
            pop
        58: .line 239
      StackMap locals:
      StackMap stack:
            aload 11 /* out */
            invokevirtual com.caucho.hessian.io.AbstractHessianOutput.close:()V
        59: .line 240
            aload 6 /* osToUse */
            invokevirtual java.io.OutputStream.close:()V
        60: .line 241
            goto 62
        61: .line 242
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        62: .line 245
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
        63: .line 232
      StackMap locals:
      StackMap stack:
            aload 10 /* in */
            invokevirtual com.caucho.hessian.io.AbstractHessianInput.close:()V
        64: .line 233
            aload 5 /* isToUse */
            invokevirtual java.io.InputStream.close:()V
        65: .line 234
            goto 67
        66: .line 235
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        67: .line 239
      StackMap locals:
      StackMap stack:
            aload 11 /* out */
            invokevirtual com.caucho.hessian.io.AbstractHessianOutput.close:()V
        68: .line 240
            aload 6 /* osToUse */
            invokevirtual java.io.OutputStream.close:()V
        69: .line 241
            goto 75
        70: .line 242
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        end local 11 // com.caucho.hessian.io.AbstractHessianOutput out
        end local 10 // com.caucho.hessian.io.AbstractHessianInput in
        end local 7 // int code
        end local 6 // java.io.OutputStream osToUse
        end local 5 // java.io.InputStream isToUse
        71: .line 246
            goto 75
        72: .line 247
      StackMap locals: org.springframework.remoting.caucho.HessianExporter com.caucho.hessian.server.HessianSkeleton java.io.InputStream java.io.OutputStream java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 13
        73: .line 248
            aload 0 /* this */
            aload 4 /* originalClassLoader */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.resetThreadContextClassLoader:(Ljava/lang/ClassLoader;)V
        74: .line 249
            aload 13
            athrow
        75: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* originalClassLoader */
            invokevirtual org.springframework.remoting.caucho.HessianExporter.resetThreadContextClassLoader:(Ljava/lang/ClassLoader;)V
        76: .line 250
            return
        end local 4 // java.lang.ClassLoader originalClassLoader
        end local 3 // java.io.OutputStream outputStream
        end local 2 // java.io.InputStream inputStream
        end local 1 // com.caucho.hessian.server.HessianSkeleton skeleton
        end local 0 // org.springframework.remoting.caucho.HessianExporter this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   77     0                 this  Lorg/springframework/remoting/caucho/HessianExporter;
            0   77     1             skeleton  Lcom/caucho/hessian/server/HessianSkeleton;
            0   77     2          inputStream  Ljava/io/InputStream;
            0   77     3         outputStream  Ljava/io/OutputStream;
            1   77     4  originalClassLoader  Ljava/lang/ClassLoader;
            2   71     5              isToUse  Ljava/io/InputStream;
            3   71     6              osToUse  Ljava/io/OutputStream;
            6   14     9          debugWriter  Ljava/io/PrintWriter;
            7   12    10                  dis  Lcom/caucho/hessian/io/HessianDebugInputStream;
            8   12    11                  dos  Lcom/caucho/hessian/io/HessianDebugOutputStream;
           22   71     7                 code  I
           24   31     8                major  I
           39   46     8                major  I
           25   31     9                minor  I
           40   46     9                minor  I
           28   31    10                   in  Lcom/caucho/hessian/io/AbstractHessianInput;
           34   37    10                   in  Lcom/caucho/hessian/io/AbstractHessianInput;
           41   46    10                   in  Lcom/caucho/hessian/io/AbstractHessianInput;
           47   71    10                   in  Lcom/caucho/hessian/io/AbstractHessianInput;
           29   31    11                  out  Lcom/caucho/hessian/io/AbstractHessianOutput;
           35   37    11                  out  Lcom/caucho/hessian/io/AbstractHessianOutput;
           43   44    11                  out  Lcom/caucho/hessian/io/AbstractHessianOutput;
           45   46    11                  out  Lcom/caucho/hessian/io/AbstractHessianOutput;
           47   71    11                  out  Lcom/caucho/hessian/io/AbstractHessianOutput;
      Exception table:
        from    to  target  type
           6    12      13  any
           5    15      15  any
          51    53      53  any
          54    56      57  Class java.io.IOException
          58    60      61  Class java.io.IOException
          63    65      66  Class java.io.IOException
          67    69      70  Class java.io.IOException
           1    72      72  any
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
              Name  Flags
      skeleton      
      inputStream   
      outputStream  
}
SourceFile: "HessianExporter.java"