public class org.springframework.remoting.caucho.HessianClientInterceptor extends org.springframework.remoting.support.UrlBasedRemoteAccessor implements org.aopalliance.intercept.MethodInterceptor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.springframework.remoting.caucho.HessianClientInterceptor
  super_class: org.springframework.remoting.support.UrlBasedRemoteAccessor
{
  private com.caucho.hessian.client.HessianProxyFactory proxyFactory;
    descriptor: Lcom/caucho/hessian/client/HessianProxyFactory;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object hessianProxy;
    descriptor: Ljava/lang/Object;
    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.HessianClientInterceptor this
         0: .line 67
            aload 0 /* this */
            invokespecial org.springframework.remoting.support.UrlBasedRemoteAccessor.<init>:()V
         1: .line 69
            aload 0 /* this */
            new com.caucho.hessian.client.HessianProxyFactory
            dup
            invokespecial com.caucho.hessian.client.HessianProxyFactory.<init>:()V
            putfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
         2: .line 67
            return
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;

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

  public void setSerializerFactory(com.caucho.hessian.io.SerializerFactory);
    descriptor: (Lcom/caucho/hessian/io/SerializerFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // com.caucho.hessian.io.SerializerFactory serializerFactory
         0: .line 92
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            aload 1 /* serializerFactory */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setSerializerFactory:(Lcom/caucho/hessian/io/SerializerFactory;)V
         1: .line 93
            return
        end local 1 // com.caucho.hessian.io.SerializerFactory serializerFactory
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  serializerFactory  Lcom/caucho/hessian/io/SerializerFactory;
    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.HessianClientInterceptor this
        start local 1 // boolean sendCollectionType
         0: .line 100
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.getSerializerFactory:()Lcom/caucho/hessian/io/SerializerFactory;
            iload 1 /* sendCollectionType */
            invokevirtual com.caucho.hessian.io.SerializerFactory.setSendCollectionType:(Z)V
         1: .line 101
            return
        end local 1 // boolean sendCollectionType
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            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.HessianClientInterceptor this
        start local 1 // boolean allowNonSerializable
         0: .line 108
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.getSerializerFactory:()Lcom/caucho/hessian/io/SerializerFactory;
            iload 1 /* allowNonSerializable */
            invokevirtual com.caucho.hessian.io.SerializerFactory.setAllowNonSerializable:(Z)V
         1: .line 109
            return
        end local 1 // boolean allowNonSerializable
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  allowNonSerializable  Z
    MethodParameters:
                      Name  Flags
      allowNonSerializable  

  public void setOverloadEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // boolean overloadEnabled
         0: .line 117
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            iload 1 /* overloadEnabled */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setOverloadEnabled:(Z)V
         1: .line 118
            return
        end local 1 // boolean overloadEnabled
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  overloadEnabled  Z
    MethodParameters:
                 Name  Flags
      overloadEnabled  

  public void setUsername(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // java.lang.String username
         0: .line 127
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            aload 1 /* username */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setUser:(Ljava/lang/String;)V
         1: .line 128
            return
        end local 1 // java.lang.String username
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  username  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      username  

  public void setPassword(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // java.lang.String password
         0: .line 137
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            aload 1 /* password */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setPassword:(Ljava/lang/String;)V
         1: .line 138
            return
        end local 1 // java.lang.String password
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      password  

  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.HessianClientInterceptor this
        start local 1 // boolean debug
         0: .line 146
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            iload 1 /* debug */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setDebug:(Z)V
         1: .line 147
            return
        end local 1 // boolean debug
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  debug  Z
    MethodParameters:
       Name  Flags
      debug  

  public void setChunkedPost(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // boolean chunkedPost
         0: .line 154
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            iload 1 /* chunkedPost */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setChunkedPost:(Z)V
         1: .line 155
            return
        end local 1 // boolean chunkedPost
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  chunkedPost  Z
    MethodParameters:
             Name  Flags
      chunkedPost  

  public void setConnectionFactory(com.caucho.hessian.client.HessianConnectionFactory);
    descriptor: (Lcom/caucho/hessian/client/HessianConnectionFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // com.caucho.hessian.client.HessianConnectionFactory connectionFactory
         0: .line 161
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            aload 1 /* connectionFactory */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setConnectionFactory:(Lcom/caucho/hessian/client/HessianConnectionFactory;)V
         1: .line 162
            return
        end local 1 // com.caucho.hessian.client.HessianConnectionFactory connectionFactory
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  connectionFactory  Lcom/caucho/hessian/client/HessianConnectionFactory;
    MethodParameters:
                   Name  Flags
      connectionFactory  

  public void setConnectTimeout(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // long timeout
         0: .line 169
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            lload 1 /* timeout */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setConnectTimeout:(J)V
         1: .line 170
            return
        end local 1 // long timeout
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  timeout  J
    MethodParameters:
         Name  Flags
      timeout  

  public void setReadTimeout(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // long timeout
         0: .line 177
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            lload 1 /* timeout */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setReadTimeout:(J)V
         1: .line 178
            return
        end local 1 // long timeout
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  timeout  J
    MethodParameters:
         Name  Flags
      timeout  

  public void setHessian2(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // boolean hessian2
         0: .line 186
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            iload 1 /* hessian2 */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setHessian2Request:(Z)V
         1: .line 187
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            iload 1 /* hessian2 */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setHessian2Reply:(Z)V
         2: .line 188
            return
        end local 1 // boolean hessian2
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    3     1  hessian2  Z
    MethodParameters:
          Name  Flags
      hessian2  

  public void setHessian2Request(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // boolean hessian2
         0: .line 196
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            iload 1 /* hessian2 */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setHessian2Request:(Z)V
         1: .line 197
            return
        end local 1 // boolean hessian2
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  hessian2  Z
    MethodParameters:
          Name  Flags
      hessian2  

  public void setHessian2Reply(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // boolean hessian2
         0: .line 205
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            iload 1 /* hessian2 */
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.setHessian2Reply:(Z)V
         1: .line 206
            return
        end local 1 // boolean hessian2
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  hessian2  Z
    MethodParameters:
          Name  Flags
      hessian2  

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

  public void prepare();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
         0: .line 221
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.proxyFactory:Lcom/caucho/hessian/client/HessianProxyFactory;
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.createHessianProxy:(Lcom/caucho/hessian/client/HessianProxyFactory;)Ljava/lang/Object;
            putfield org.springframework.remoting.caucho.HessianClientInterceptor.hessianProxy:Ljava/lang/Object;
         1: .line 222
            goto 4
         2: .line 223
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            astore 1 /* ex */
        start local 1 // java.net.MalformedURLException ex
         3: .line 224
            new org.springframework.remoting.RemoteLookupFailureException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Service URL ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getServiceUrl:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] is invalid"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* ex */
            invokespecial org.springframework.remoting.RemoteLookupFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.net.MalformedURLException ex
         4: .line 226
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            3    4     1    ex  Ljava/net/MalformedURLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.MalformedURLException
    Exceptions:
      throws org.springframework.remoting.RemoteLookupFailureException

  protected java.lang.Object createHessianProxy(com.caucho.hessian.client.HessianProxyFactory);
    descriptor: (Lcom/caucho/hessian/client/HessianProxyFactory;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // com.caucho.hessian.client.HessianProxyFactory proxyFactory
         0: .line 236
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getServiceInterface:()Ljava/lang/Class;
            ldc "'serviceInterface' is required"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 237
            aload 1 /* proxyFactory */
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getServiceInterface:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getServiceUrl:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getBeanClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual com.caucho.hessian.client.HessianProxyFactory.create:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Object;
            areturn
        end local 1 // com.caucho.hessian.client.HessianProxyFactory proxyFactory
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    2     1  proxyFactory  Lcom/caucho/hessian/client/HessianProxyFactory;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
              Name  Flags
      proxyFactory  

  public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation);
    descriptor: (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // org.aopalliance.intercept.MethodInvocation invocation
         0: .line 244
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.hessianProxy:Ljava/lang/Object;
            ifnonnull 2
         1: .line 245
            new java.lang.IllegalStateException
            dup
            ldc "HessianClientInterceptor is not properly initialized - invoke 'prepare' before attempting any operations"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.overrideThreadContextClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* originalClassLoader */
        start local 2 // java.lang.ClassLoader originalClassLoader
         3: .line 251
            aload 1 /* invocation */
            invokeinterface org.aopalliance.intercept.MethodInvocation.getMethod:()Ljava/lang/reflect/Method;
            aload 0 /* this */
            getfield org.springframework.remoting.caucho.HessianClientInterceptor.hessianProxy:Ljava/lang/Object;
            aload 1 /* invocation */
            invokeinterface org.aopalliance.intercept.MethodInvocation.getArguments:()[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 7
         4: .line 279
            aload 0 /* this */
            aload 2 /* originalClassLoader */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.resetThreadContextClassLoader:(Ljava/lang/ClassLoader;)V
         5: .line 251
            aload 7
            areturn
         6: .line 253
      StackMap locals: org.springframework.remoting.caucho.HessianClientInterceptor org.aopalliance.intercept.MethodInvocation java.lang.ClassLoader
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* ex */
        start local 3 // java.lang.reflect.InvocationTargetException ex
         7: .line 254
            aload 3 /* ex */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 4 /* targetEx */
        start local 4 // java.lang.Throwable targetEx
         8: .line 256
            aload 4 /* targetEx */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 10
         9: .line 257
            aload 4 /* targetEx */
            checkcast java.lang.reflect.InvocationTargetException
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 4 /* targetEx */
        10: .line 259
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            aload 4 /* targetEx */
            instanceof com.caucho.hessian.client.HessianConnectionException
            ifeq 12
        11: .line 260
            aload 0 /* this */
            aload 4 /* targetEx */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.convertHessianAccessException:(Ljava/lang/Throwable;)Lorg/springframework/remoting/RemoteAccessException;
            athrow
        12: .line 262
      StackMap locals:
      StackMap stack:
            aload 4 /* targetEx */
            instanceof com.caucho.hessian.HessianException
            ifne 13
            aload 4 /* targetEx */
            instanceof com.caucho.hessian.client.HessianRuntimeException
            ifeq 17
        13: .line 263
      StackMap locals:
      StackMap stack:
            aload 4 /* targetEx */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 5 /* cause */
        start local 5 // java.lang.Throwable cause
        14: .line 264
            aload 0 /* this */
            aload 5 /* cause */
            ifnull 15
            aload 5 /* cause */
            goto 16
      StackMap locals: org.springframework.remoting.caucho.HessianClientInterceptor org.aopalliance.intercept.MethodInvocation java.lang.ClassLoader java.lang.reflect.InvocationTargetException java.lang.Throwable java.lang.Throwable
      StackMap stack: org.springframework.remoting.caucho.HessianClientInterceptor
        15: aload 4 /* targetEx */
      StackMap locals: org.springframework.remoting.caucho.HessianClientInterceptor org.aopalliance.intercept.MethodInvocation java.lang.ClassLoader java.lang.reflect.InvocationTargetException java.lang.Throwable java.lang.Throwable
      StackMap stack: org.springframework.remoting.caucho.HessianClientInterceptor java.lang.Throwable
        16: invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.convertHessianAccessException:(Ljava/lang/Throwable;)Lorg/springframework/remoting/RemoteAccessException;
            athrow
        end local 5 // java.lang.Throwable cause
        17: .line 266
      StackMap locals:
      StackMap stack:
            aload 4 /* targetEx */
            instanceof java.lang.reflect.UndeclaredThrowableException
            ifeq 20
        18: .line 267
            aload 4 /* targetEx */
            checkcast java.lang.reflect.UndeclaredThrowableException
            astore 5 /* utex */
        start local 5 // java.lang.reflect.UndeclaredThrowableException utex
        19: .line 268
            aload 0 /* this */
            aload 5 /* utex */
            invokevirtual java.lang.reflect.UndeclaredThrowableException.getUndeclaredThrowable:()Ljava/lang/Throwable;
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.convertHessianAccessException:(Ljava/lang/Throwable;)Lorg/springframework/remoting/RemoteAccessException;
            athrow
        end local 5 // java.lang.reflect.UndeclaredThrowableException utex
        20: .line 271
      StackMap locals:
      StackMap stack:
            aload 4 /* targetEx */
            athrow
        end local 4 // java.lang.Throwable targetEx
        end local 3 // java.lang.reflect.InvocationTargetException ex
        21: .line 274
      StackMap locals: org.springframework.remoting.caucho.HessianClientInterceptor org.aopalliance.intercept.MethodInvocation java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        22: .line 275
            new org.springframework.remoting.RemoteProxyFailureException
            dup
        23: .line 276
            new java.lang.StringBuilder
            dup
            ldc "Failed to invoke Hessian proxy for remote service ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getServiceUrl:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
        24: .line 275
            invokespecial org.springframework.remoting.RemoteProxyFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable ex
        25: .line 278
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        26: .line 279
            aload 0 /* this */
            aload 2 /* originalClassLoader */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.resetThreadContextClassLoader:(Ljava/lang/ClassLoader;)V
        27: .line 280
            aload 6
            athrow
        end local 2 // java.lang.ClassLoader originalClassLoader
        end local 1 // org.aopalliance.intercept.MethodInvocation invocation
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   28     0                 this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0   28     1           invocation  Lorg/aopalliance/intercept/MethodInvocation;
            3   28     2  originalClassLoader  Ljava/lang/ClassLoader;
            7   21     3                   ex  Ljava/lang/reflect/InvocationTargetException;
            8   21     4             targetEx  Ljava/lang/Throwable;
           14   17     5                cause  Ljava/lang/Throwable;
           19   20     5                 utex  Ljava/lang/reflect/UndeclaredThrowableException;
           22   25     3                   ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       6  Class java.lang.reflect.InvocationTargetException
           3     4      21  Class java.lang.Throwable
           3     4      25  any
           6    25      25  any
    Exceptions:
      throws java.lang.Throwable
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    MethodParameters:
            Name  Flags
      invocation  

  protected org.springframework.remoting.RemoteAccessException convertHessianAccessException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Lorg/springframework/remoting/RemoteAccessException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
        start local 1 // java.lang.Throwable ex
         0: .line 290
            aload 1 /* ex */
            instanceof com.caucho.hessian.client.HessianConnectionException
            ifne 1
            aload 1 /* ex */
            instanceof java.net.ConnectException
            ifeq 4
         1: .line 291
      StackMap locals:
      StackMap stack:
            new org.springframework.remoting.RemoteConnectFailureException
            dup
         2: .line 292
            new java.lang.StringBuilder
            dup
            ldc "Cannot connect to Hessian remote service at ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getServiceUrl:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* ex */
         3: .line 291
            invokespecial org.springframework.remoting.RemoteConnectFailureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
         4: .line 295
      StackMap locals:
      StackMap stack:
            new org.springframework.remoting.RemoteAccessException
            dup
         5: .line 296
            new java.lang.StringBuilder
            dup
            ldc "Cannot access Hessian remote service at ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.springframework.remoting.caucho.HessianClientInterceptor.getServiceUrl:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* ex */
         6: .line 295
            invokespecial org.springframework.remoting.RemoteAccessException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
        end local 1 // java.lang.Throwable ex
        end local 0 // org.springframework.remoting.caucho.HessianClientInterceptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/springframework/remoting/caucho/HessianClientInterceptor;
            0    7     1    ex  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      ex    
}
SourceFile: "HessianClientInterceptor.java"