class org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint extends org.springframework.jca.endpoint.AbstractMessageEndpointFactory$AbstractMessageEndpoint implements org.aopalliance.intercept.MethodInterceptor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint
  super_class: org.springframework.jca.endpoint.AbstractMessageEndpointFactory$AbstractMessageEndpoint
{
  final org.springframework.jca.endpoint.GenericMessageEndpointFactory this$0;
    descriptor: Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.springframework.jca.endpoint.GenericMessageEndpointFactory);
    descriptor: (Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
         0: .line 107
            aload 0 /* this */
            aload 1
            putfield org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.this$0:Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory;
            aload 0 /* this */
            aload 1
            invokespecial org.springframework.jca.endpoint.AbstractMessageEndpointFactory$AbstractMessageEndpoint.<init>:(Lorg/springframework/jca/endpoint/AbstractMessageEndpointFactory;)V
            return
        end local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory$GenericMessageEndpoint;
    MethodParameters:
        Name  Flags
      this$0  final

  public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation);
    descriptor: (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
        start local 1 // org.aopalliance.intercept.MethodInvocation methodInvocation
         0: .line 111
            aconst_null
            astore 2 /* endpointEx */
        start local 2 // java.lang.Throwable endpointEx
         1: .line 112
            aload 0 /* this */
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.hasBeforeDeliveryBeenCalled:()Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: java.lang.Throwable
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* applyDeliveryCalls */
        start local 3 // boolean applyDeliveryCalls
         4: .line 113
            iload 3 /* applyDeliveryCalls */
            ifeq 9
         5: .line 115
            aload 0 /* this */
            aconst_null
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.beforeDelivery:(Ljava/lang/reflect/Method;)V
         6: .line 116
            goto 9
         7: .line 117
      StackMap locals: org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint org.aopalliance.intercept.MethodInvocation java.lang.Throwable int
      StackMap stack: javax.resource.ResourceException
            astore 4 /* ex */
        start local 4 // javax.resource.ResourceException ex
         8: .line 118
            aload 0 /* this */
            aload 1 /* methodInvocation */
            aload 4 /* ex */
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.adaptExceptionIfNecessary:(Lorg/aopalliance/intercept/MethodInvocation;Ljavax/resource/ResourceException;)Ljava/lang/Exception;
            athrow
        end local 4 // javax.resource.ResourceException ex
         9: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* methodInvocation */
            invokeinterface org.aopalliance.intercept.MethodInvocation.proceed:()Ljava/lang/Object;
            astore 6
        10: .line 130
            iload 3 /* applyDeliveryCalls */
            ifeq 16
        11: .line 132
            aload 0 /* this */
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.afterDelivery:()V
        12: .line 133
            goto 16
        13: .line 134
      StackMap locals: org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint org.aopalliance.intercept.MethodInvocation java.lang.Throwable int top top java.lang.Object
      StackMap stack: javax.resource.ResourceException
            astore 7 /* ex */
        start local 7 // javax.resource.ResourceException ex
        14: .line 135
            aload 2 /* endpointEx */
            ifnonnull 16
        15: .line 136
            aload 0 /* this */
            aload 1 /* methodInvocation */
            aload 7 /* ex */
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.adaptExceptionIfNecessary:(Lorg/aopalliance/intercept/MethodInvocation;Ljavax/resource/ResourceException;)Ljava/lang/Exception;
            athrow
        end local 7 // javax.resource.ResourceException ex
        16: .line 122
      StackMap locals:
      StackMap stack:
            aload 6
            areturn
        17: .line 124
      StackMap locals: org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint org.aopalliance.intercept.MethodInvocation java.lang.Throwable int
      StackMap stack: java.lang.Throwable
            astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
        18: .line 125
            aload 4 /* ex */
            astore 2 /* endpointEx */
        19: .line 126
            aload 0 /* this */
            aload 4 /* ex */
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.onEndpointException:(Ljava/lang/Throwable;)V
        20: .line 127
            aload 4 /* ex */
            athrow
        end local 4 // java.lang.Throwable ex
        21: .line 129
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5
        22: .line 130
            iload 3 /* applyDeliveryCalls */
            ifeq 28
        23: .line 132
            aload 0 /* this */
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.afterDelivery:()V
        24: .line 133
            goto 28
        25: .line 134
      StackMap locals: org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint org.aopalliance.intercept.MethodInvocation java.lang.Throwable int top java.lang.Throwable
      StackMap stack: javax.resource.ResourceException
            astore 7 /* ex */
        start local 7 // javax.resource.ResourceException ex
        26: .line 135
            aload 2 /* endpointEx */
            ifnonnull 28
        27: .line 136
            aload 0 /* this */
            aload 1 /* methodInvocation */
            aload 7 /* ex */
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.adaptExceptionIfNecessary:(Lorg/aopalliance/intercept/MethodInvocation;Ljavax/resource/ResourceException;)Ljava/lang/Exception;
            athrow
        end local 7 // javax.resource.ResourceException ex
        28: .line 140
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        end local 3 // boolean applyDeliveryCalls
        end local 2 // java.lang.Throwable endpointEx
        end local 1 // org.aopalliance.intercept.MethodInvocation methodInvocation
        end local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   29     0                this  Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory$GenericMessageEndpoint;
            0   29     1    methodInvocation  Lorg/aopalliance/intercept/MethodInvocation;
            1   29     2          endpointEx  Ljava/lang/Throwable;
            4   29     3  applyDeliveryCalls  Z
            8    9     4                  ex  Ljavax/resource/ResourceException;
           18   21     4                  ex  Ljava/lang/Throwable;
           14   16     7                  ex  Ljavax/resource/ResourceException;
           26   28     7                  ex  Ljavax/resource/ResourceException;
      Exception table:
        from    to  target  type
           5     6       7  Class javax.resource.ResourceException
          11    12      13  Class javax.resource.ResourceException
           9    10      17  Class java.lang.Throwable
           9    10      21  any
          17    21      21  any
          23    24      25  Class javax.resource.ResourceException
    Exceptions:
      throws java.lang.Throwable
    MethodParameters:
                  Name  Flags
      methodInvocation  

  private java.lang.Exception adaptExceptionIfNecessary(org.aopalliance.intercept.MethodInvocation, javax.resource.ResourceException);
    descriptor: (Lorg/aopalliance/intercept/MethodInvocation;Ljavax/resource/ResourceException;)Ljava/lang/Exception;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
        start local 1 // org.aopalliance.intercept.MethodInvocation methodInvocation
        start local 2 // javax.resource.ResourceException ex
         0: .line 144
            aload 1 /* methodInvocation */
            invokeinterface org.aopalliance.intercept.MethodInvocation.getMethod:()Ljava/lang/reflect/Method;
            aload 2 /* ex */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.springframework.util.ReflectionUtils.declaresException:(Ljava/lang/reflect/Method;Ljava/lang/Class;)Z
            ifeq 2
         1: .line 145
            aload 2 /* ex */
            areturn
         2: .line 148
      StackMap locals:
      StackMap stack:
            new org.springframework.jca.endpoint.GenericMessageEndpointFactory$InternalResourceException
            dup
            aload 2 /* ex */
            invokespecial org.springframework.jca.endpoint.GenericMessageEndpointFactory$InternalResourceException.<init>:(Ljavax/resource/ResourceException;)V
            areturn
        end local 2 // javax.resource.ResourceException ex
        end local 1 // org.aopalliance.intercept.MethodInvocation methodInvocation
        end local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory$GenericMessageEndpoint;
            0    3     1  methodInvocation  Lorg/aopalliance/intercept/MethodInvocation;
            0    3     2                ex  Ljavax/resource/ResourceException;
    MethodParameters:
                  Name  Flags
      methodInvocation  
      ex                

  protected java.lang.ClassLoader getEndpointClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
         0: .line 154
            aload 0 /* this */
            getfield org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint.this$0:Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory;
            invokevirtual org.springframework.jca.endpoint.GenericMessageEndpointFactory.getMessageListener:()Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/jca/endpoint/GenericMessageEndpointFactory$GenericMessageEndpoint;
}
SourceFile: "GenericMessageEndpointFactory.java"
NestHost: org.springframework.jca.endpoint.GenericMessageEndpointFactory
InnerClasses:
  protected abstract AbstractMessageEndpoint = org.springframework.jca.endpoint.AbstractMessageEndpointFactory$AbstractMessageEndpoint of org.springframework.jca.endpoint.AbstractMessageEndpointFactory
  private GenericMessageEndpoint = org.springframework.jca.endpoint.GenericMessageEndpointFactory$GenericMessageEndpoint of org.springframework.jca.endpoint.GenericMessageEndpointFactory
  public InternalResourceException = org.springframework.jca.endpoint.GenericMessageEndpointFactory$InternalResourceException of org.springframework.jca.endpoint.GenericMessageEndpointFactory