final class com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
  super_class: java.lang.Object
{
  private static final java.util.concurrent.locks.ReentrantReadWriteLock irwl;
    descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.locks.Lock ir;
    descriptor: Ljava/util/concurrent/locks/Lock;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.locks.Lock iw;
    descriptor: Ljava/util/concurrent/locks/Lock;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.ClassLoader, java.lang.ref.WeakReference<com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector>> injectors;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/ClassLoader;Ljava/lang/ref/WeakReference<Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;>;>;

  private static final java.util.logging.Logger logger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Map<java.lang.String, java.lang.Class> classes;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Class;>;

  private final java.util.concurrent.locks.ReentrantReadWriteLock rwl;
    descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.locks.Lock r;
    descriptor: Ljava/util/concurrent/locks/Lock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.locks.Lock w;
    descriptor: Ljava/util/concurrent/locks/Lock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.ClassLoader parent;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean loadable;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static java.lang.reflect.Method defineClass;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Method resolveClass;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.reflect.Method findLoadedClass;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.Object U;
    descriptor: Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 59
            ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.$assertionsDisabled:Z
         3: .line 66
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.irwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
         4: .line 67
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.irwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
         5: .line 68
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.irwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
         6: .line 70
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
         7: .line 69
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
         8: .line 71
            invokestatic com.sun.xml.internal.bind.Util.getClassLogger:()Ljava/util/logging/Logger;
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
         9: .line 157
            new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1
            dup
            invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1.<init>:()V
        10: .line 156
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method[]
            astore 0 /* m */
        start local 0 // java.lang.reflect.Method[] m
        11: .line 168
            aload 0 /* m */
            iconst_0
            aaload
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
        12: .line 169
            aload 0 /* m */
            iconst_1
            aaload
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.resolveClass:Ljava/lang/reflect/Method;
        13: .line 170
            aload 0 /* m */
            iconst_2
            aaload
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.findLoadedClass:Ljava/lang/reflect/Method;
        end local 0 // java.lang.reflect.Method[] m
        14: .line 171
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: pop
        16: .line 173
            new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2
            dup
            invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.U:Ljava/lang/Object;
        17: .line 182
            new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3
            dup
            invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            putstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
        18: .line 198
            goto 21
      StackMap locals:
      StackMap stack: java.lang.Exception
        19: astore 0 /* ex */
        start local 0 // java.lang.Exception ex
        20: .line 199
            ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            aconst_null
            aload 0 /* ex */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 0 // java.lang.Exception ex
        21: .line 202
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           11   14     0     m  [Ljava/lang/reflect/Method;
           20   21     0    ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    14      15  Class java.lang.Throwable
          16    18      19  Class java.lang.SecurityException
          16    18      19  Class java.security.PrivilegedActionException

  static java.lang.Class inject(java.lang.ClassLoader, java.lang.String, byte[]);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;[B)Ljava/lang/Class;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader cl
        start local 1 // java.lang.String className
        start local 2 // byte[] image
         0: .line 80
            aload 0 /* cl */
            invokestatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.get:(Ljava/lang/ClassLoader;)Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            astore 3 /* injector */
        start local 3 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector injector
         1: .line 81
            aload 3 /* injector */
            ifnull 3
         2: .line 82
            aload 3 /* injector */
            aload 1 /* className */
            aload 2 /* image */
            invokevirtual com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.inject:(Ljava/lang/String;[B)Ljava/lang/Class;
            areturn
         3: .line 84
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
      StackMap stack:
            aconst_null
            areturn
        end local 3 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector injector
        end local 2 // byte[] image
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0         cl  Ljava/lang/ClassLoader;
            0    4     1  className  Ljava/lang/String;
            0    4     2      image  [B
            1    4     3   injector  Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
    MethodParameters:
           Name  Flags
      cl         
      className  
      image      

  static java.lang.Class find(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader cl
        start local 1 // java.lang.String className
         0: .line 92
            aload 0 /* cl */
            invokestatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.get:(Ljava/lang/ClassLoader;)Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            astore 2 /* injector */
        start local 2 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector injector
         1: .line 93
            aload 2 /* injector */
            ifnull 3
         2: .line 94
            aload 2 /* injector */
            aload 1 /* className */
            invokevirtual com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.find:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
         3: .line 96
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector injector
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0         cl  Ljava/lang/ClassLoader;
            0    4     1  className  Ljava/lang/String;
            1    4     2   injector  Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
    MethodParameters:
           Name  Flags
      cl         
      className  

  private static com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector get(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.ClassLoader cl
         0: .line 107
            aconst_null
            astore 1 /* injector */
        start local 1 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector injector
         1: .line 109
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 111
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
            aload 0 /* cl */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 2 /* wr */
        start local 2 // java.lang.ref.WeakReference wr
         3: .line 112
            goto 7
        end local 2 // java.lang.ref.WeakReference wr
      StackMap locals: java.lang.ClassLoader com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
      StackMap stack: java.lang.Throwable
         4: astore 3
         5: .line 113
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 114
            aload 3
            athrow
        start local 2 // java.lang.ref.WeakReference wr
         7: .line 113
      StackMap locals: java.lang.ref.WeakReference
      StackMap stack:
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.ir:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 115
            aload 2 /* wr */
            ifnull 10
         9: .line 116
            aload 2 /* wr */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
            astore 1 /* injector */
        10: .line 118
      StackMap locals:
      StackMap stack:
            aload 1 /* injector */
            ifnonnull 24
        11: .line 120
            new java.lang.ref.WeakReference
            dup
            new com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector
            dup
            aload 0 /* cl */
            invokespecial com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.<init>:(Ljava/lang/ClassLoader;)V
            dup
            astore 1 /* injector */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            astore 2 /* wr */
        12: .line 121
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
        13: .line 123
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
            aload 0 /* cl */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 19
        14: .line 124
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.injectors:Ljava/util/Map;
            aload 0 /* cl */
            aload 2 /* wr */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 126
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 3
        17: .line 127
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        18: .line 128
            aload 3
            athrow
        19: .line 127
      StackMap locals:
      StackMap stack:
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.iw:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        20: .line 129
            goto 24
      StackMap locals:
      StackMap stack: java.lang.SecurityException
        21: astore 3 /* e */
        start local 3 // java.lang.SecurityException e
        22: .line 130
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Unable to set up a back-door for the injector"
            aload 3 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        23: .line 131
            aconst_null
            areturn
        end local 3 // java.lang.SecurityException e
        24: .line 134
      StackMap locals:
      StackMap stack:
            aload 1 /* injector */
            areturn
        end local 2 // java.lang.ref.WeakReference wr
        end local 1 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector injector
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0        cl  Ljava/lang/ClassLoader;
            1   25     1  injector  Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            3    4     2        wr  Ljava/lang/ref/WeakReference<Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;>;
            7   25     2        wr  Ljava/lang/ref/WeakReference<Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;>;
           22   24     3         e  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           2     4       4  any
          13    16      16  any
          11    20      21  Class java.lang.SecurityException
    MethodParameters:
      Name  Flags
      cl    

  private static java.lang.reflect.Method getMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Class c
        start local 1 // java.lang.String methodname
        start local 2 // java.lang.Class[] params
         0: .line 206
            aload 0 /* c */
            aload 1 /* methodname */
            aload 2 /* params */
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* m */
        start local 3 // java.lang.reflect.Method m
         1: .line 207
            aload 3 /* m */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
         2: .line 208
            aload 3 /* m */
         3: areturn
        end local 3 // java.lang.reflect.Method m
         4: .line 209
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 3 /* e */
        start local 3 // java.lang.NoSuchMethodException e
         5: .line 210
            new java.lang.NoSuchMethodError
            dup
            aload 3 /* e */
            invokevirtual java.lang.NoSuchMethodException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.NoSuchMethodError.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.NoSuchMethodException e
        end local 2 // java.lang.Class[] params
        end local 1 // java.lang.String methodname
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0           c  Ljava/lang/Class<*>;
            0    6     1  methodname  Ljava/lang/String;
            0    6     2      params  [Ljava/lang/Class;
            1    4     3           m  Ljava/lang/reflect/Method;
            5    6     3           e  Ljava/lang/NoSuchMethodException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
            Name  Flags
      c           final
      methodname  final
      params      final

  private void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector this
        start local 1 // java.lang.ClassLoader parent
         0: .line 214
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 139
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
         2: .line 140
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantReadWriteLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
            putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
         3: .line 141
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
            putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
         4: .line 142
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.rwl:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
            invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
            putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
         5: .line 215
            aload 0 /* this */
            aload 1 /* parent */
            putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
         6: .line 216
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.$assertionsDisabled:Z
            ifne 7
            aload 1 /* parent */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 218
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.ClassLoader
      StackMap stack:
            iconst_0
            istore 2 /* loadableCheck */
        start local 2 // boolean loadableCheck
         8: .line 221
            aload 1 /* parent */
            ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/Accessor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/Accessor;
            if_acmpne 9
            iconst_1
            goto 10
      StackMap locals: int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 2 /* loadableCheck */
        11: .line 222
            goto 13
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        12: pop
        13: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* loadableCheck */
            putfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.loadable:Z
        14: .line 227
            return
        end local 2 // boolean loadableCheck
        end local 1 // java.lang.ClassLoader parent
        end local 0 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            0   15     1         parent  Ljava/lang/ClassLoader;
            8   15     2  loadableCheck  Z
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      parent  

  private java.lang.Class inject(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=3
        start local 0 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector this
        start local 1 // java.lang.String className
        start local 2 // byte[] image
         0: .line 231
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.loadable:Z
            ifne 2
         1: .line 233
            aconst_null
            areturn
         2: .line 236
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* wlocked */
        start local 3 // boolean wlocked
         3: .line 237
            iconst_0
            istore 4 /* rlocked */
        start local 4 // boolean rlocked
         4: .line 240
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         5: .line 241
            iconst_1
            istore 4 /* rlocked */
         6: .line 243
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 5 /* c */
        start local 5 // java.lang.Class c
         7: .line 247
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 248
            iconst_0
            istore 4 /* rlocked */
         9: .line 251
            aload 5 /* c */
            ifnonnull 30
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.findLoadedClass:Ljava/lang/reflect/Method;
            ifnull 30
        10: .line 254
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.findLoadedClass:Ljava/lang/reflect/Method;
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* className */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 5 /* c */
        11: .line 255
            goto 18
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
      StackMap stack: java.lang.Exception
        12: astore 6 /* e */
        start local 6 // java.lang.Exception e
        13: .line 256
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to find "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Exception e
        14: goto 18
        15: .line 257
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 6 /* e */
        start local 6 // java.lang.reflect.InvocationTargetException e
        16: .line 258
            aload 6 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 7 /* t */
        start local 7 // java.lang.Throwable t
        17: .line 259
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to find "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* t */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 7 // java.lang.Throwable t
        end local 6 // java.lang.reflect.InvocationTargetException e
        18: .line 262
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            ifnull 30
        19: .line 264
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
        20: .line 265
            iconst_1
            istore 3 /* wlocked */
        21: .line 267
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
            aload 1 /* className */
            aload 5 /* c */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 269
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        23: .line 270
            iconst_0
            istore 3 /* wlocked */
        24: .line 272
            aload 5 /* c */
            astore 9
        25: .line 333
            iload 4 /* rlocked */
            ifeq 27
        26: .line 334
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        27: .line 336
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class top top top java.lang.Class
      StackMap stack:
            iload 3 /* wlocked */
            ifeq 29
        28: .line 337
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        29: .line 272
      StackMap locals:
      StackMap stack:
            aload 9
            areturn
        30: .line 276
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
      StackMap stack:
            aload 5 /* c */
            ifnonnull 81
        31: .line 278
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
        32: .line 279
            iconst_1
            istore 4 /* rlocked */
        33: .line 281
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 5 /* c */
        34: .line 285
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        35: .line 286
            iconst_0
            istore 4 /* rlocked */
        36: .line 288
            aload 5 /* c */
            ifnonnull 81
        37: .line 292
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.resolveClass:Ljava/lang/reflect/Method;
            ifnull 41
        38: .line 293
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* className */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* image */
            aastore
            dup
            iconst_2
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 2 /* image */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 5 /* c */
        39: .line 294
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.resolveClass:Ljava/lang/reflect/Method;
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* c */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 295
            goto 75
        41: .line 296
      StackMap locals:
      StackMap stack:
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.defineClass:Ljava/lang/reflect/Method;
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.U:Ljava/lang/Object;
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* className */
            bipush 47
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* image */
            aastore
            dup
            iconst_2
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            aload 2 /* image */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.parent:Ljava/lang/ClassLoader;
            aastore
            dup
            iconst_5
            ldc Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            invokevirtual java.lang.Class.getProtectionDomain:()Ljava/security/ProtectionDomain;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 5 /* c */
        42: .line 298
            goto 75
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
        43: astore 6 /* e */
        start local 6 // java.lang.IllegalAccessException e
        44: .line 299
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to inject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        45: .line 333
            iload 4 /* rlocked */
            ifeq 47
        46: .line 334
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        47: .line 336
      StackMap locals: java.lang.IllegalAccessException
      StackMap stack:
            iload 3 /* wlocked */
            ifeq 49
        48: .line 337
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        49: .line 300
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.lang.IllegalAccessException e
        50: .line 301
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 6 /* e */
        start local 6 // java.lang.reflect.InvocationTargetException e
        51: .line 302
            aload 6 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 7 /* t */
        start local 7 // java.lang.Throwable t
        52: .line 303
            aload 7 /* t */
            instanceof java.lang.LinkageError
            ifeq 55
        53: .line 304
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "duplicate class definition bug occured? Please report this : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* t */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        54: .line 305
            goto 56
        55: .line 306
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack:
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to inject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 7 /* t */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        56: .line 333
      StackMap locals:
      StackMap stack:
            iload 4 /* rlocked */
            ifeq 58
        57: .line 334
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        58: .line 336
      StackMap locals:
      StackMap stack:
            iload 3 /* wlocked */
            ifeq 60
        59: .line 337
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        60: .line 308
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 7 // java.lang.Throwable t
        end local 6 // java.lang.reflect.InvocationTargetException e
        61: .line 309
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
      StackMap stack: java.lang.SecurityException
            astore 6 /* e */
        start local 6 // java.lang.SecurityException e
        62: .line 310
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to inject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        63: .line 333
            iload 4 /* rlocked */
            ifeq 65
        64: .line 334
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        65: .line 336
      StackMap locals: java.lang.SecurityException
      StackMap stack:
            iload 3 /* wlocked */
            ifeq 67
        66: .line 337
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        67: .line 311
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.lang.SecurityException e
        68: .line 312
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class
      StackMap stack: java.lang.LinkageError
            astore 6 /* e */
        start local 6 // java.lang.LinkageError e
        69: .line 313
            getstatic com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to inject "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        70: .line 333
            iload 4 /* rlocked */
            ifeq 72
        71: .line 334
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        72: .line 336
      StackMap locals: java.lang.LinkageError
      StackMap stack:
            iload 3 /* wlocked */
            ifeq 74
        73: .line 337
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        74: .line 314
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.lang.LinkageError e
        75: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
        76: .line 318
            iconst_1
            istore 3 /* wlocked */
        77: .line 323
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 79
        78: .line 324
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
            aload 1 /* className */
            aload 5 /* c */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        79: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        80: .line 328
            iconst_0
            istore 3 /* wlocked */
        81: .line 331
      StackMap locals:
      StackMap stack:
            aload 5 /* c */
            astore 9
        82: .line 333
            iload 4 /* rlocked */
            ifeq 84
        83: .line 334
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        84: .line 336
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int java.lang.Class top top top java.lang.Class
      StackMap stack:
            iload 3 /* wlocked */
            ifeq 86
        85: .line 337
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        86: .line 331
      StackMap locals:
      StackMap stack:
            aload 9
            areturn
        end local 5 // java.lang.Class c
        87: .line 332
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int
      StackMap stack: java.lang.Throwable
            astore 8
        88: .line 333
            iload 4 /* rlocked */
            ifeq 90
        89: .line 334
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        90: .line 336
      StackMap locals: com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector java.lang.String byte[] int int top top top java.lang.Throwable
      StackMap stack:
            iload 3 /* wlocked */
            ifeq 92
        91: .line 337
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.w:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        92: .line 339
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        end local 4 // boolean rlocked
        end local 3 // boolean wlocked
        end local 2 // byte[] image
        end local 1 // java.lang.String className
        end local 0 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   93     0       this  Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            0   93     1  className  Ljava/lang/String;
            0   93     2      image  [B
            3   93     3    wlocked  Z
            4   93     4    rlocked  Z
            7   87     5          c  Ljava/lang/Class;
           13   14     6          e  Ljava/lang/Exception;
           16   18     6          e  Ljava/lang/reflect/InvocationTargetException;
           17   18     7          t  Ljava/lang/Throwable;
           44   50     6          e  Ljava/lang/IllegalAccessException;
           51   61     6          e  Ljava/lang/reflect/InvocationTargetException;
           52   61     7          t  Ljava/lang/Throwable;
           62   68     6          e  Ljava/lang/SecurityException;
           69   75     6          e  Ljava/lang/LinkageError;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.IllegalArgumentException
          10    11      12  Class java.lang.IllegalAccessException
          10    11      15  Class java.lang.reflect.InvocationTargetException
          37    42      43  Class java.lang.IllegalAccessException
          37    42      50  Class java.lang.reflect.InvocationTargetException
          37    42      61  Class java.lang.SecurityException
          37    42      68  Class java.lang.LinkageError
           4    25      87  any
          30    45      87  any
          50    56      87  any
          61    63      87  any
          68    70      87  any
          75    82      87  any
    MethodParameters:
           Name  Flags
      className  
      image      

  private java.lang.Class find(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector this
        start local 1 // java.lang.String className
         0: .line 343
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 345
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.classes:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 3
         2: .line 347
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 345
            aload 3
            areturn
         4: .line 346
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         5: .line 347
            aload 0 /* this */
            getfield com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector.r:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 348
            aload 2
            athrow
        end local 1 // java.lang.String className
        end local 0 // com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/xml/internal/bind/v2/runtime/reflect/opt/Injector;
            0    7     1  className  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
           Name  Flags
      className  
}
SourceFile: "Injector.java"
NestMembers:
  com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1  com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2  com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3
InnerClasses:
  com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$1
  com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$2
  com.sun.xml.internal.bind.v2.runtime.reflect.opt.Injector$3
  public ReadLock = java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock of java.util.concurrent.locks.ReentrantReadWriteLock
  public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock