class javax.xml.bind.ContextFinder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.xml.bind.ContextFinder
  super_class: java.lang.Object
{
  private static final java.lang.String PLATFORM_DEFAULT_FACTORY_CLASS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.xml.internal.bind.v2.ContextFactory"

  private static final java.lang.String JAXB_CONTEXT_FACTORY_DEPRECATED;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.xml.bind.context.factory"

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

  private static javax.xml.bind.ServiceLoaderUtil$ExceptionHandler<javax.xml.bind.JAXBException> EXCEPTION_HANDLER;
    descriptor: Ljavax/xml/bind/ServiceLoaderUtil$ExceptionHandler;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljavax/xml/bind/ServiceLoaderUtil$ExceptionHandler<Ljavax/xml/bind/JAXBException;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 78
            ldc "javax.xml.bind"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
         1: .line 80
            new javax.xml.bind.GetPropertyAction
            dup
            ldc "jaxb.debug"
            invokespecial javax.xml.bind.GetPropertyAction.<init>:(Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            ifnull 9
         2: .line 83
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            iconst_0
            invokevirtual java.util.logging.Logger.setUseParentHandlers:(Z)V
         3: .line 84
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.ALL:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.setLevel:(Ljava/util/logging/Level;)V
         4: .line 85
            new java.util.logging.ConsoleHandler
            dup
            invokespecial java.util.logging.ConsoleHandler.<init>:()V
            astore 0 /* handler */
        start local 0 // java.util.logging.ConsoleHandler handler
         5: .line 86
            aload 0 /* handler */
            getstatic java.util.logging.Level.ALL:Ljava/util/logging/Level;
            invokevirtual java.util.logging.ConsoleHandler.setLevel:(Ljava/util/logging/Level;)V
         6: .line 87
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            aload 0 /* handler */
            invokevirtual java.util.logging.Logger.addHandler:(Ljava/util/logging/Handler;)V
        end local 0 // java.util.logging.ConsoleHandler handler
         7: .line 93
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: pop
         9: .line 100
      StackMap locals:
      StackMap stack:
            new javax.xml.bind.ContextFinder$1
            dup
            invokespecial javax.xml.bind.ContextFinder$1.<init>:()V
        10: .line 99
            putstatic javax.xml.bind.ContextFinder.EXCEPTION_HANDLER:Ljavax/xml/bind/ServiceLoaderUtil$ExceptionHandler;
        11: .line 105
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            5    7     0  handler  Ljava/util/logging/ConsoleHandler;
      Exception table:
        from    to  target  type
           1     7       8  Class java.lang.Throwable

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.bind.ContextFinder this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javax.xml.bind.ContextFinder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/xml/bind/ContextFinder;

  private static java.lang.Throwable handleInvocationTargetException(java.lang.reflect.InvocationTargetException);
    descriptor: (Ljava/lang/reflect/InvocationTargetException;)Ljava/lang/Throwable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.reflect.InvocationTargetException x
         0: .line 112
            aload 0 /* x */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         1: .line 113
            aload 1 /* t */
            ifnull 9
         2: .line 114
            aload 1 /* t */
            instanceof javax.xml.bind.JAXBException
            ifeq 4
         3: .line 116
            aload 1 /* t */
            checkcast javax.xml.bind.JAXBException
            athrow
         4: .line 117
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* t */
            instanceof java.lang.RuntimeException
            ifeq 6
         5: .line 119
            aload 1 /* t */
            checkcast java.lang.RuntimeException
            athrow
         6: .line 120
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            instanceof java.lang.Error
            ifeq 8
         7: .line 121
            aload 1 /* t */
            checkcast java.lang.Error
            athrow
         8: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            areturn
         9: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            areturn
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.reflect.InvocationTargetException x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     x  Ljava/lang/reflect/InvocationTargetException;
            1   10     1     t  Ljava/lang/Throwable;
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
      Name  Flags
      x     

  private static javax.xml.bind.JAXBException handleClassCastException(java.lang.Class, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljavax/xml/bind/JAXBException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Class originalType
        start local 1 // java.lang.Class targetType
         0: .line 140
            aload 1 /* targetType */
            invokestatic javax.xml.bind.ContextFinder.which:(Ljava/lang/Class;)Ljava/net/URL;
            astore 2 /* targetTypeURL */
        start local 2 // java.net.URL targetTypeURL
         1: .line 142
            new javax.xml.bind.JAXBException
            dup
            ldc "JAXBContext.IllegalCast"
         2: .line 145
            aload 0 /* originalType */
            invokestatic javax.xml.bind.ContextFinder.getClassClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            ldc "javax/xml/bind/JAXBContext.class"
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
         3: .line 146
            aload 2 /* targetTypeURL */
         4: .line 142
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;)V
            areturn
        end local 2 // java.net.URL targetTypeURL
        end local 1 // java.lang.Class targetType
        end local 0 // java.lang.Class originalType
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0   originalType  Ljava/lang/Class;
            0    5     1     targetType  Ljava/lang/Class;
            1    5     2  targetTypeURL  Ljava/net/URL;
    MethodParameters:
              Name  Flags
      originalType  
      targetType    

  static javax.xml.bind.JAXBContext newInstance(java.lang.String, java.lang.Class[], java.lang.String, java.lang.ClassLoader, java.util.Map);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.String contextPath
        start local 1 // java.lang.Class[] contextPathClasses
        start local 2 // java.lang.String className
        start local 3 // java.lang.ClassLoader classLoader
        start local 4 // java.util.Map properties
         0: .line 159
            aload 2 /* className */
            ldc "com.sun.xml.internal.bind.v2.ContextFactory"
            aload 3 /* classLoader */
            invokestatic javax.xml.bind.ServiceLoaderUtil.safeLoadClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 5 /* spFactory */
        start local 5 // java.lang.Class spFactory
         1: .line 160
            aload 0 /* contextPath */
            aload 1 /* contextPathClasses */
            aload 5 /* spFactory */
            aload 3 /* classLoader */
            aload 4 /* properties */
            invokestatic javax.xml.bind.ContextFinder.newInstance:(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
         2: areturn
        end local 5 // java.lang.Class spFactory
         3: .line 161
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 5 /* x */
        start local 5 // java.lang.ClassNotFoundException x
         4: .line 162
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.DefaultProviderNotFound"
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 5 /* x */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.ClassNotFoundException x
         5: .line 164
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* x */
        start local 5 // java.lang.Exception x
         6: .line 168
            aload 5 /* x */
            athrow
        end local 5 // java.lang.Exception x
         7: .line 169
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* x */
        start local 5 // java.lang.Exception x
         8: .line 174
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.CouldNotInstantiate"
            aload 2 /* className */
            aload 5 /* x */
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            aload 5 /* x */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception x
        end local 4 // java.util.Map properties
        end local 3 // java.lang.ClassLoader classLoader
        end local 2 // java.lang.String className
        end local 1 // java.lang.Class[] contextPathClasses
        end local 0 // java.lang.String contextPath
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    9     0         contextPath  Ljava/lang/String;
            0    9     1  contextPathClasses  [Ljava/lang/Class;
            0    9     2           className  Ljava/lang/String;
            0    9     3         classLoader  Ljava/lang/ClassLoader;
            0    9     4          properties  Ljava/util/Map;
            1    3     5           spFactory  Ljava/lang/Class;
            4    5     5                   x  Ljava/lang/ClassNotFoundException;
            6    7     5                   x  Ljava/lang/Exception;
            8    9     5                   x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.ClassNotFoundException
           0     2       5  Class java.lang.RuntimeException
           0     2       5  Class javax.xml.bind.JAXBException
           0     2       7  Class java.lang.Exception
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
                    Name  Flags
      contextPath         
      contextPathClasses  
      className           
      classLoader         
      properties          

  static javax.xml.bind.JAXBContext newInstance(java.lang.String, java.lang.Class[], java.lang.Class, java.lang.ClassLoader, java.util.Map);
    descriptor: (Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // java.lang.String contextPath
        start local 1 // java.lang.Class[] contextPathClasses
        start local 2 // java.lang.Class spFactory
        start local 3 // java.lang.ClassLoader classLoader
        start local 4 // java.util.Map properties
         0: .line 186
            aload 1 /* contextPathClasses */
            aload 2 /* spFactory */
            invokestatic javax.xml.bind.ModuleUtil.delegateAddOpensToImplModule:([Ljava/lang/Class;Ljava/lang/Class;)V
         1: .line 194
            aconst_null
            astore 5 /* context */
        start local 5 // java.lang.Object context
         2: .line 199
            aload 2 /* spFactory */
            ldc "createContext"
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/ClassLoader;
            aastore
            dup
            iconst_2
            ldc Ljava/util/Map;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* m */
        start local 6 // java.lang.reflect.Method m
         3: .line 201
            aload 2 /* spFactory */
            invokestatic javax.xml.bind.ContextFinder.instantiateProviderIfNecessary:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 7 /* obj */
        start local 7 // java.lang.Object obj
         4: .line 202
            aload 6 /* m */
            aload 7 /* obj */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* contextPath */
            aastore
            dup
            iconst_1
            aload 3 /* classLoader */
            aastore
            dup
            iconst_2
            aload 4 /* properties */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* context */
        end local 7 // java.lang.Object obj
        end local 6 // java.lang.reflect.Method m
         5: .line 203
            goto 7
      StackMap locals: java.lang.String java.lang.Class[] java.lang.Class java.lang.ClassLoader java.util.Map java.lang.Object
      StackMap stack: java.lang.NoSuchMethodException
         6: pop
         7: .line 207
      StackMap locals:
      StackMap stack:
            aload 5 /* context */
            ifnonnull 11
         8: .line 210
            aload 2 /* spFactory */
            ldc "createContext"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/ClassLoader;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 6 /* m */
        start local 6 // java.lang.reflect.Method m
         9: .line 211
            aload 2 /* spFactory */
            invokestatic javax.xml.bind.ContextFinder.instantiateProviderIfNecessary:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 7 /* obj */
        start local 7 // java.lang.Object obj
        10: .line 213
            aload 6 /* m */
            aload 7 /* obj */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* contextPath */
            aastore
            dup
            iconst_1
            aload 3 /* classLoader */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* context */
        end local 7 // java.lang.Object obj
        end local 6 // java.lang.reflect.Method m
        11: .line 216
      StackMap locals:
      StackMap stack:
            aload 5 /* context */
            instanceof javax.xml.bind.JAXBContext
            ifne 13
        12: .line 218
            aload 5 /* context */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljavax/xml/bind/JAXBContext;
            invokestatic javax.xml.bind.ContextFinder.handleClassCastException:(Ljava/lang/Class;Ljava/lang/Class;)Ljavax/xml/bind/JAXBException;
            athrow
        13: .line 221
      StackMap locals:
      StackMap stack:
            aload 5 /* context */
            checkcast javax.xml.bind.JAXBContext
        14: areturn
        end local 5 // java.lang.Object context
        15: .line 222
      StackMap locals: java.lang.String java.lang.Class[] java.lang.Class java.lang.ClassLoader java.util.Map
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 5 /* x */
        start local 5 // java.lang.reflect.InvocationTargetException x
        16: .line 225
            aload 5 /* x */
            invokestatic javax.xml.bind.ContextFinder.handleInvocationTargetException:(Ljava/lang/reflect/InvocationTargetException;)Ljava/lang/Throwable;
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
        17: .line 226
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.CouldNotInstantiate"
            aload 2 /* spFactory */
            aload 6 /* e */
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            aload 6 /* e */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Throwable e
        end local 5 // java.lang.reflect.InvocationTargetException x
        18: .line 228
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* x */
        start local 5 // java.lang.Exception x
        19: .line 233
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.CouldNotInstantiate"
            aload 2 /* spFactory */
            aload 5 /* x */
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            aload 5 /* x */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception x
        end local 4 // java.util.Map properties
        end local 3 // java.lang.ClassLoader classLoader
        end local 2 // java.lang.Class spFactory
        end local 1 // java.lang.Class[] contextPathClasses
        end local 0 // java.lang.String contextPath
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   20     0         contextPath  Ljava/lang/String;
            0   20     1  contextPathClasses  [Ljava/lang/Class;
            0   20     2           spFactory  Ljava/lang/Class;
            0   20     3         classLoader  Ljava/lang/ClassLoader;
            0   20     4          properties  Ljava/util/Map;
            2   15     5             context  Ljava/lang/Object;
            3    5     6                   m  Ljava/lang/reflect/Method;
            4    5     7                 obj  Ljava/lang/Object;
            9   11     6                   m  Ljava/lang/reflect/Method;
           10   11     7                 obj  Ljava/lang/Object;
           16   18     5                   x  Ljava/lang/reflect/InvocationTargetException;
           17   18     6                   e  Ljava/lang/Throwable;
           19   20     5                   x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.NoSuchMethodException
           0    14      15  Class java.lang.reflect.InvocationTargetException
           0    14      18  Class java.lang.Exception
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
                    Name  Flags
      contextPath         
      contextPathClasses  
      spFactory           
      classLoader         
      properties          

  private static  instantiateProviderIfNecessary(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.Class implClass
         0: .line 239
            ldc Ljavax/xml/bind/JAXBContextFactory;
            aload 0 /* implClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 3
         1: .line 240
            new javax.xml.bind.ContextFinder$2
            dup
            aload 0 /* implClass */
            invokespecial javax.xml.bind.ContextFinder$2.<init>:(Ljava/lang/Class;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
         2: areturn
         3: .line 247
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 248
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
            astore 1 /* x */
        start local 1 // java.security.PrivilegedActionException x
         5: .line 249
            aload 1 /* x */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
            ifnonnull 6
            aload 1 /* x */
            goto 7
      StackMap locals: java.security.PrivilegedActionException
      StackMap stack:
         6: aload 1 /* x */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2 /* e */
        start local 2 // java.lang.Throwable e
         8: .line 250
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.CouldNotInstantiate"
            aload 0 /* implClass */
            aload 2 /* e */
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Throwable e
        end local 1 // java.security.PrivilegedActionException x
        end local 0 // java.lang.Class implClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  implClass  Ljava/lang/Class<*>;
            5    9     1          x  Ljava/security/PrivilegedActionException;
            8    9     2          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     2       4  Class java.security.PrivilegedActionException
    Exceptions:
      throws javax.xml.bind.JAXBException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      implClass  final

  static javax.xml.bind.JAXBContext newInstance(java.lang.Class[], java.util.Map, java.lang.String);
    descriptor: ([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/String;)Ljavax/xml/bind/JAXBContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.lang.Class[] classes
        start local 1 // java.util.Map properties
        start local 2 // java.lang.String className
         0: .line 261
            aload 2 /* className */
            ldc "com.sun.xml.internal.bind.v2.ContextFactory"
            invokestatic javax.xml.bind.ContextFinder.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokestatic javax.xml.bind.ServiceLoaderUtil.safeLoadClass:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* spi */
        start local 3 // java.lang.Class spi
         1: .line 262
            goto 4
        end local 3 // java.lang.Class spi
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         2: astore 4 /* e */
        start local 4 // java.lang.ClassNotFoundException e
         3: .line 263
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.DefaultProviderNotFound"
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 4 /* e */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.ClassNotFoundException e
        start local 3 // java.lang.Class spi
         4: .line 266
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 6
         5: .line 268
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "loaded {0} from {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* className */
            aastore
            dup
            iconst_1
            aload 3 /* spi */
            invokestatic javax.xml.bind.ContextFinder.which:(Ljava/lang/Class;)Ljava/net/URL;
            aastore
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* classes */
            aload 1 /* properties */
            aload 3 /* spi */
            invokestatic javax.xml.bind.ContextFinder.newInstance:([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/Class;)Ljavax/xml/bind/JAXBContext;
            areturn
        end local 3 // java.lang.Class spi
        end local 2 // java.lang.String className
        end local 1 // java.util.Map properties
        end local 0 // java.lang.Class[] classes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0     classes  [Ljava/lang/Class;
            0    7     1  properties  Ljava/util/Map;
            0    7     2   className  Ljava/lang/String;
            1    2     3         spi  Ljava/lang/Class;
            4    7     3         spi  Ljava/lang/Class;
            3    4     4           e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
            Name  Flags
      classes     
      properties  
      className   

  static javax.xml.bind.JAXBContext newInstance(java.lang.Class[], java.util.Map, java.lang.Class);
    descriptor: ([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/Class;)Ljavax/xml/bind/JAXBContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // java.lang.Class[] classes
        start local 1 // java.util.Map properties
        start local 2 // java.lang.Class spFactory
         0: .line 278
            aload 0 /* classes */
            aload 2 /* spFactory */
            invokestatic javax.xml.bind.ModuleUtil.delegateAddOpensToImplModule:([Ljava/lang/Class;Ljava/lang/Class;)V
         1: .line 280
            aload 2 /* spFactory */
            ldc "createContext"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Class;
            aastore
            dup
            iconst_1
            ldc Ljava/util/Map;
            aastore
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* m */
        start local 3 // java.lang.reflect.Method m
         2: .line 281
            aload 2 /* spFactory */
            invokestatic javax.xml.bind.ContextFinder.instantiateProviderIfNecessary:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 4 /* obj */
        start local 4 // java.lang.Object obj
         3: .line 282
            aload 3 /* m */
            aload 4 /* obj */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* classes */
            aastore
            dup
            iconst_1
            aload 1 /* properties */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* context */
        start local 5 // java.lang.Object context
         4: .line 283
            aload 5 /* context */
            instanceof javax.xml.bind.JAXBContext
            ifne 6
         5: .line 285
            aload 5 /* context */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljavax/xml/bind/JAXBContext;
            invokestatic javax.xml.bind.ContextFinder.handleClassCastException:(Ljava/lang/Class;Ljava/lang/Class;)Ljavax/xml/bind/JAXBException;
            athrow
         6: .line 287
      StackMap locals: java.lang.reflect.Method java.lang.Object java.lang.Object
      StackMap stack:
            aload 5 /* context */
            checkcast javax.xml.bind.JAXBContext
         7: areturn
        end local 5 // java.lang.Object context
        end local 4 // java.lang.Object obj
        end local 3 // java.lang.reflect.Method m
         8: .line 289
      StackMap locals: java.lang.Class[] java.util.Map java.lang.Class
      StackMap stack: java.lang.ReflectiveOperationException
            astore 3 /* e */
        start local 3 // java.lang.ReflectiveOperationException e
         9: .line 290
            new javax.xml.bind.JAXBException
            dup
            aload 3 /* e */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.ReflectiveOperationException e
        10: .line 291
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        11: .line 294
            aload 3 /* e */
            invokestatic javax.xml.bind.ContextFinder.handleInvocationTargetException:(Ljava/lang/reflect/InvocationTargetException;)Ljava/lang/Throwable;
            astore 4 /* x */
        start local 4 // java.lang.Throwable x
        12: .line 296
            new javax.xml.bind.JAXBException
            dup
            aload 4 /* x */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Throwable x
        end local 3 // java.lang.reflect.InvocationTargetException e
        end local 2 // java.lang.Class spFactory
        end local 1 // java.util.Map properties
        end local 0 // java.lang.Class[] classes
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0     classes  [Ljava/lang/Class;
            0   13     1  properties  Ljava/util/Map;
            0   13     2   spFactory  Ljava/lang/Class;
            2    8     3           m  Ljava/lang/reflect/Method;
            3    8     4         obj  Ljava/lang/Object;
            4    8     5     context  Ljava/lang/Object;
            9   10     3           e  Ljava/lang/ReflectiveOperationException;
           11   13     3           e  Ljava/lang/reflect/InvocationTargetException;
           12   13     4           x  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.NoSuchMethodException
           0     7       8  Class java.lang.IllegalAccessException
           0     7      10  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
            Name  Flags
      classes     
      properties  
      spFactory   

  static javax.xml.bind.JAXBContext find(java.lang.String, java.lang.String, java.lang.ClassLoader, java.util.Map);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // java.lang.String factoryId
        start local 1 // java.lang.String contextPath
        start local 2 // java.lang.ClassLoader classLoader
        start local 3 // java.util.Map properties
         0: .line 305
            aload 1 /* contextPath */
            ifnull 1
            aload 1 /* contextPath */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 307
      StackMap locals:
      StackMap stack:
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.NoPackageInContextPath"
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 311
      StackMap locals:
      StackMap stack:
            aload 1 /* contextPath */
            aload 2 /* classLoader */
            invokestatic javax.xml.bind.ModuleUtil.getClassesFromContextPath:(Ljava/lang/String;Ljava/lang/ClassLoader;)[Ljava/lang/Class;
            astore 4 /* contextPathClasses */
        start local 4 // java.lang.Class[] contextPathClasses
         3: .line 314
            aload 1 /* contextPath */
            aload 2 /* classLoader */
            aload 0 /* factoryId */
            invokestatic javax.xml.bind.ContextFinder.jaxbProperties:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* factoryClassName */
        start local 5 // java.lang.String factoryClassName
         4: .line 315
            aload 5 /* factoryClassName */
            ifnonnull 6
            aload 4 /* contextPathClasses */
            ifnull 6
         5: .line 317
            aload 4 /* contextPathClasses */
            aload 0 /* factoryId */
            invokestatic javax.xml.bind.ContextFinder.jaxbProperties:([Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* factoryClassName */
         6: .line 320
      StackMap locals: java.lang.Class[] java.lang.String
      StackMap stack:
            aload 5 /* factoryClassName */
            ifnull 8
         7: .line 321
            aload 1 /* contextPath */
            aload 4 /* contextPathClasses */
            aload 5 /* factoryClassName */
            aload 2 /* classLoader */
            aload 3 /* properties */
            invokestatic javax.xml.bind.ContextFinder.newInstance:(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
            areturn
         8: .line 325
      StackMap locals:
      StackMap stack:
            invokestatic javax.xml.bind.ContextFinder.classNameFromSystemProperties:()Ljava/lang/String;
            astore 6 /* factoryName */
        start local 6 // java.lang.String factoryName
         9: .line 326
            aload 6 /* factoryName */
            ifnull 10
            aload 1 /* contextPath */
            aload 4 /* contextPathClasses */
            aload 6 /* factoryName */
            aload 2 /* classLoader */
            aload 3 /* properties */
            invokestatic javax.xml.bind.ContextFinder.newInstance:(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
            areturn
        10: .line 329
      StackMap locals: java.lang.String
      StackMap stack:
            ldc Ljavax/xml/bind/JAXBContextFactory;
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic javax.xml.bind.ContextFinder.EXCEPTION_HANDLER:Ljavax/xml/bind/ServiceLoaderUtil$ExceptionHandler;
        11: .line 328
            invokestatic javax.xml.bind.ServiceLoaderUtil.firstByServiceLoader:(Ljava/lang/Class;Ljava/util/logging/Logger;Ljavax/xml/bind/ServiceLoaderUtil$ExceptionHandler;)Ljava/lang/Object;
            checkcast javax.xml.bind.JAXBContextFactory
            astore 7 /* obj */
        start local 7 // javax.xml.bind.JAXBContextFactory obj
        12: .line 331
            aload 7 /* obj */
            ifnull 15
        13: .line 332
            aload 4 /* contextPathClasses */
            aload 7 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic javax.xml.bind.ModuleUtil.delegateAddOpensToImplModule:([Ljava/lang/Class;Ljava/lang/Class;)V
        14: .line 333
            aload 7 /* obj */
            aload 1 /* contextPath */
            aload 2 /* classLoader */
            aload 3 /* properties */
            invokeinterface javax.xml.bind.JAXBContextFactory.createContext:(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
            areturn
        15: .line 337
      StackMap locals: javax.xml.bind.JAXBContextFactory
      StackMap stack:
            ldc Ljavax/xml/bind/JAXBContext;
            aload 2 /* classLoader */
            invokestatic javax.xml.bind.ContextFinder.firstByServiceLoaderDeprecated:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/String;
            astore 6 /* factoryName */
        16: .line 338
            aload 6 /* factoryName */
            ifnull 17
            aload 1 /* contextPath */
            aload 4 /* contextPathClasses */
            aload 6 /* factoryName */
            aload 2 /* classLoader */
            aload 3 /* properties */
            invokestatic javax.xml.bind.ContextFinder.newInstance:(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
            areturn
        17: .line 341
      StackMap locals:
      StackMap stack:
            ldc "javax.xml.bind.JAXBContext"
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
        18: .line 340
            invokestatic javax.xml.bind.ServiceLoaderUtil.lookupUsingOSGiServiceLoader:(Ljava/lang/String;Ljava/util/logging/Logger;)Ljava/lang/Object;
            checkcast java.lang.Class
            astore 8 /* ctxFactory */
        start local 8 // java.lang.Class ctxFactory
        19: .line 343
            aload 8 /* ctxFactory */
            ifnull 21
        20: .line 344
            aload 1 /* contextPath */
            aload 4 /* contextPathClasses */
            aload 8 /* ctxFactory */
            aload 2 /* classLoader */
            aload 3 /* properties */
            invokestatic javax.xml.bind.ContextFinder.newInstance:(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
            areturn
        21: .line 348
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            ldc "Trying to create the platform default provider"
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        22: .line 349
            aload 1 /* contextPath */
            aload 4 /* contextPathClasses */
            ldc "com.sun.xml.internal.bind.v2.ContextFactory"
            aload 2 /* classLoader */
            aload 3 /* properties */
            invokestatic javax.xml.bind.ContextFinder.newInstance:(Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
            areturn
        end local 8 // java.lang.Class ctxFactory
        end local 7 // javax.xml.bind.JAXBContextFactory obj
        end local 6 // java.lang.String factoryName
        end local 5 // java.lang.String factoryClassName
        end local 4 // java.lang.Class[] contextPathClasses
        end local 3 // java.util.Map properties
        end local 2 // java.lang.ClassLoader classLoader
        end local 1 // java.lang.String contextPath
        end local 0 // java.lang.String factoryId
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0           factoryId  Ljava/lang/String;
            0   23     1         contextPath  Ljava/lang/String;
            0   23     2         classLoader  Ljava/lang/ClassLoader;
            0   23     3          properties  Ljava/util/Map;
            3   23     4  contextPathClasses  [Ljava/lang/Class;
            4   23     5    factoryClassName  Ljava/lang/String;
            9   23     6         factoryName  Ljava/lang/String;
           12   23     7                 obj  Ljavax/xml/bind/JAXBContextFactory;
           19   23     8          ctxFactory  Ljava/lang/Class;
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
             Name  Flags
      factoryId    
      contextPath  
      classLoader  
      properties   

  static javax.xml.bind.JAXBContext find(java.lang.Class<?>[], java.util.Map<java.lang.String, ?>);
    descriptor: ([Ljava/lang/Class;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.lang.Class[] classes
        start local 1 // java.util.Map properties
         0: .line 355
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            ldc "Searching jaxb.properties"
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         1: .line 356
            aload 0 /* classes */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 12
      StackMap locals: java.lang.Class[] java.util.Map top int int java.lang.Class[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* c */
        start local 2 // java.lang.Class c
         3: .line 360
            aload 2 /* c */
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            ifnonnull 4
            goto 11
         4: .line 367
      StackMap locals: java.lang.Class[] java.util.Map java.lang.Class int int java.lang.Class[]
      StackMap stack:
            aload 2 /* c */
            ldc "jaxb.properties"
            invokestatic javax.xml.bind.ContextFinder.getResourceUrl:(Ljava/lang/Class;Ljava/lang/String;)Ljava/net/URL;
            astore 6 /* jaxbPropertiesUrl */
        start local 6 // java.net.URL jaxbPropertiesUrl
         5: .line 369
            aload 6 /* jaxbPropertiesUrl */
            ifnull 11
         6: .line 373
            aload 6 /* jaxbPropertiesUrl */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         7: .line 374
            ldc "javax.xml.bind.JAXBContextFactory"
            aastore
            dup
            iconst_1
            ldc "javax.xml.bind.context.factory"
            aastore
         8: .line 372
            invokestatic javax.xml.bind.ContextFinder.classNameFromPackageProperties:(Ljava/net/URL;[Ljava/lang/String;)Ljava/lang/String;
         9: .line 371
            astore 7 /* factoryClassName */
        start local 7 // java.lang.String factoryClassName
        10: .line 376
            aload 0 /* classes */
            aload 1 /* properties */
            aload 7 /* factoryClassName */
            invokestatic javax.xml.bind.ContextFinder.newInstance:([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/String;)Ljavax/xml/bind/JAXBContext;
            areturn
        end local 7 // java.lang.String factoryClassName
        end local 6 // java.net.URL jaxbPropertiesUrl
        end local 2 // java.lang.Class c
        11: .line 356
      StackMap locals: java.lang.Class[] java.util.Map top int int java.lang.Class[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        12: iload 3
            iload 4
            if_icmplt 2
        13: .line 381
            invokestatic javax.xml.bind.ContextFinder.classNameFromSystemProperties:()Ljava/lang/String;
            astore 2 /* factoryClassName */
        start local 2 // java.lang.String factoryClassName
        14: .line 382
            aload 2 /* factoryClassName */
            ifnull 15
            aload 0 /* classes */
            aload 1 /* properties */
            aload 2 /* factoryClassName */
            invokestatic javax.xml.bind.ContextFinder.newInstance:([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/String;)Ljavax/xml/bind/JAXBContext;
            areturn
        15: .line 385
      StackMap locals: java.lang.Class[] java.util.Map java.lang.String
      StackMap stack:
            ldc Ljavax/xml/bind/JAXBContextFactory;
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic javax.xml.bind.ContextFinder.EXCEPTION_HANDLER:Ljavax/xml/bind/ServiceLoaderUtil$ExceptionHandler;
            invokestatic javax.xml.bind.ServiceLoaderUtil.firstByServiceLoader:(Ljava/lang/Class;Ljava/util/logging/Logger;Ljavax/xml/bind/ServiceLoaderUtil$ExceptionHandler;)Ljava/lang/Object;
            checkcast javax.xml.bind.JAXBContextFactory
        16: .line 384
            astore 3 /* factory */
        start local 3 // javax.xml.bind.JAXBContextFactory factory
        17: .line 387
            aload 3 /* factory */
            ifnull 20
        18: .line 388
            aload 0 /* classes */
            aload 3 /* factory */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic javax.xml.bind.ModuleUtil.delegateAddOpensToImplModule:([Ljava/lang/Class;Ljava/lang/Class;)V
        19: .line 389
            aload 3 /* factory */
            aload 0 /* classes */
            aload 1 /* properties */
            invokeinterface javax.xml.bind.JAXBContextFactory.createContext:([Ljava/lang/Class;Ljava/util/Map;)Ljavax/xml/bind/JAXBContext;
            areturn
        20: .line 393
      StackMap locals: javax.xml.bind.JAXBContextFactory
      StackMap stack:
            ldc Ljavax/xml/bind/JAXBContext;
            invokestatic javax.xml.bind.ContextFinder.getContextClassLoader:()Ljava/lang/ClassLoader;
            invokestatic javax.xml.bind.ContextFinder.firstByServiceLoaderDeprecated:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/String;
            astore 4 /* className */
        start local 4 // java.lang.String className
        21: .line 394
            aload 4 /* className */
            ifnull 22
            aload 0 /* classes */
            aload 1 /* properties */
            aload 4 /* className */
            invokestatic javax.xml.bind.ContextFinder.newInstance:([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/String;)Ljavax/xml/bind/JAXBContext;
            areturn
        22: .line 396
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            ldc "Trying to create the platform default provider"
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        23: .line 398
            ldc "javax.xml.bind.JAXBContext"
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            invokestatic javax.xml.bind.ServiceLoaderUtil.lookupUsingOSGiServiceLoader:(Ljava/lang/String;Ljava/util/logging/Logger;)Ljava/lang/Object;
            checkcast java.lang.Class
        24: .line 397
            astore 5 /* ctxFactoryClass */
        start local 5 // java.lang.Class ctxFactoryClass
        25: .line 400
            aload 5 /* ctxFactoryClass */
            ifnull 27
        26: .line 401
            aload 0 /* classes */
            aload 1 /* properties */
            aload 5 /* ctxFactoryClass */
            invokestatic javax.xml.bind.ContextFinder.newInstance:([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/Class;)Ljavax/xml/bind/JAXBContext;
            areturn
        27: .line 405
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            ldc "Trying to create the platform default provider"
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        28: .line 406
            aload 0 /* classes */
            aload 1 /* properties */
            ldc "com.sun.xml.internal.bind.v2.ContextFactory"
            invokestatic javax.xml.bind.ContextFinder.newInstance:([Ljava/lang/Class;Ljava/util/Map;Ljava/lang/String;)Ljavax/xml/bind/JAXBContext;
            areturn
        end local 5 // java.lang.Class ctxFactoryClass
        end local 4 // java.lang.String className
        end local 3 // javax.xml.bind.JAXBContextFactory factory
        end local 2 // java.lang.String factoryClassName
        end local 1 // java.util.Map properties
        end local 0 // java.lang.Class[] classes
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   29     0            classes  [Ljava/lang/Class;
            0   29     1         properties  Ljava/util/Map<Ljava/lang/String;*>;
            3   11     2                  c  Ljava/lang/Class;
            5   11     6  jaxbPropertiesUrl  Ljava/net/URL;
           10   11     7   factoryClassName  Ljava/lang/String;
           14   29     2   factoryClassName  Ljava/lang/String;
           17   29     3            factory  Ljavax/xml/bind/JAXBContextFactory;
           21   29     4          className  Ljava/lang/String;
           25   29     5    ctxFactoryClass  Ljava/lang/Class;
    Exceptions:
      throws javax.xml.bind.JAXBException
    Signature: ([Ljava/lang/Class<*>;Ljava/util/Map<Ljava/lang/String;*>;)Ljavax/xml/bind/JAXBContext;
    MethodParameters:
            Name  Flags
      classes     
      properties  

  private static java.lang.String classNameFromPackageProperties(java.net.URL, java.lang.String[]);
    descriptor: (Ljava/net/URL;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // java.net.URL packagePropertiesUrl
        start local 1 // java.lang.String[] factoryIds
         0: .line 417
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Trying to locate {0}"
            aload 0 /* packagePropertiesUrl */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 418
            aload 0 /* packagePropertiesUrl */
            invokestatic javax.xml.bind.ContextFinder.loadJAXBProperties:(Ljava/net/URL;)Ljava/util/Properties;
            astore 2 /* props */
        start local 2 // java.util.Properties props
         2: .line 419
            aload 1 /* factoryIds */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: java.net.URL java.lang.String[] java.util.Properties top int int java.lang.String[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* factoryId */
        start local 3 // java.lang.String factoryId
         4: .line 420
            aload 2 /* props */
            aload 3 /* factoryId */
            invokevirtual java.util.Properties.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 421
            aload 2 /* props */
            aload 3 /* factoryId */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String factoryId
         6: .line 419
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
         8: .line 425
            aload 0 /* packagePropertiesUrl */
            invokevirtual java.net.URL.toExternalForm:()Ljava/lang/String;
            astore 3 /* propertiesUrl */
        start local 3 // java.lang.String propertiesUrl
         9: .line 426
            aload 3 /* propertiesUrl */
            iconst_0
            aload 3 /* propertiesUrl */
            ldc "/jaxb.properties"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* packageName */
        start local 4 // java.lang.String packageName
        10: .line 427
            new javax.xml.bind.JAXBException
            dup
            ldc "ContextFinder.MissingProperty"
            aload 4 /* packageName */
            aload 1 /* factoryIds */
            iconst_0
            aaload
            invokestatic javax.xml.bind.Messages.format:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String packageName
        end local 3 // java.lang.String propertiesUrl
        end local 2 // java.util.Properties props
        end local 1 // java.lang.String[] factoryIds
        end local 0 // java.net.URL packagePropertiesUrl
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   11     0  packagePropertiesUrl  Ljava/net/URL;
            0   11     1            factoryIds  [Ljava/lang/String;
            2   11     2                 props  Ljava/util/Properties;
            4    6     3             factoryId  Ljava/lang/String;
            9   11     3         propertiesUrl  Ljava/lang/String;
           10   11     4           packageName  Ljava/lang/String;
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
                      Name  Flags
      packagePropertiesUrl  
      factoryIds            

  private static java.lang.String classNameFromSystemProperties();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 432
            ldc "javax.xml.bind.JAXBContextFactory"
            invokestatic javax.xml.bind.ContextFinder.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* factoryClassName */
        start local 0 // java.lang.String factoryClassName
         1: .line 433
            aload 0 /* factoryClassName */
            ifnull 3
         2: .line 434
            aload 0 /* factoryClassName */
            areturn
         3: .line 437
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "javax.xml.bind.context.factory"
            invokestatic javax.xml.bind.ContextFinder.getDeprecatedSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* factoryClassName */
         4: .line 438
            aload 0 /* factoryClassName */
            ifnull 6
         5: .line 439
            aload 0 /* factoryClassName */
            areturn
         6: .line 442
      StackMap locals:
      StackMap stack:
            ldc Ljavax/xml/bind/JAXBContext;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic javax.xml.bind.ContextFinder.getDeprecatedSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* factoryClassName */
         7: .line 443
            aload 0 /* factoryClassName */
            ifnull 9
         8: .line 444
            aload 0 /* factoryClassName */
            areturn
         9: .line 446
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String factoryClassName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            1   10     0  factoryClassName  Ljava/lang/String;
    Exceptions:
      throws javax.xml.bind.JAXBException

  private static java.lang.String getDeprecatedSystemProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // java.lang.String property
         0: .line 450
            aload 0 /* property */
            invokestatic javax.xml.bind.ContextFinder.getSystemProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* value */
        start local 1 // java.lang.String value
         1: .line 451
            aload 1 /* value */
            ifnull 5
         2: .line 452
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            ldc "Using non-standard property: {0}. Property {1} should be used instead."
         3: .line 453
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* property */
            aastore
            dup
            iconst_1
            ldc "javax.xml.bind.JAXBContextFactory"
            aastore
         4: .line 452
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 455
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.String value
        end local 0 // java.lang.String property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  property  Ljava/lang/String;
            1    6     1     value  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      property  

  private static java.lang.String getSystemProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String property
         0: .line 459
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Checking system property {0}"
            aload 0 /* property */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 460
            new javax.xml.bind.GetPropertyAction
            dup
            aload 0 /* property */
            invokespecial javax.xml.bind.GetPropertyAction.<init>:(Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* value */
        start local 1 // java.lang.String value
         2: .line 461
            aload 1 /* value */
            ifnull 5
         3: .line 462
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "  found {0}"
            aload 1 /* value */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 463
            goto 6
         5: .line 464
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "  not found"
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         6: .line 466
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
        end local 1 // java.lang.String value
        end local 0 // java.lang.String property
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  property  Ljava/lang/String;
            2    7     1     value  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      property  

  private static java.util.Properties loadJAXBProperties(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/Properties;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.net.URL url
         0: .line 473
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "loading props from {0}"
            aload 0 /* url */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 474
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 1 /* props */
        start local 1 // java.util.Properties props
         2: .line 475
            aload 0 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 2 /* is */
        start local 2 // java.io.InputStream is
         3: .line 476
            aload 1 /* props */
            aload 2 /* is */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
         4: .line 477
            aload 2 /* is */
            invokevirtual java.io.InputStream.close:()V
         5: .line 478
            aload 1 /* props */
         6: areturn
        end local 2 // java.io.InputStream is
        end local 1 // java.util.Properties props
         7: .line 479
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
         8: .line 480
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to load "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* url */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* ioe */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
         9: .line 481
            new javax.xml.bind.JAXBException
            dup
            aload 1 /* ioe */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            aload 1 /* ioe */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // java.net.URL url
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0    url  Ljava/net/URL;
            2    7     1  props  Ljava/util/Properties;
            3    7     2     is  Ljava/io/InputStream;
            8   10     1    ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     6       7  Class java.io.IOException
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
      Name  Flags
      url   

  private static java.net.URL getResourceUrl(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader classLoader
        start local 1 // java.lang.String resourceName
         0: .line 494
            aload 0 /* classLoader */
            ifnonnull 3
         1: .line 495
            aload 1 /* resourceName */
            invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         2: goto 4
        end local 2 // java.net.URL url
         3: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* classLoader */
            aload 1 /* resourceName */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         4: .line 498
      StackMap locals: java.net.URL
      StackMap stack:
            aload 2 /* url */
            areturn
        end local 2 // java.net.URL url
        end local 1 // java.lang.String resourceName
        end local 0 // java.lang.ClassLoader classLoader
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0   classLoader  Ljava/lang/ClassLoader;
            0    5     1  resourceName  Ljava/lang/String;
            2    3     2           url  Ljava/net/URL;
            4    5     2           url  Ljava/net/URL;
    MethodParameters:
              Name  Flags
      classLoader   
      resourceName  

  private static java.net.URL getResourceUrl(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.String resourceName
         0: .line 502
            aload 0 /* clazz */
            aload 1 /* resourceName */
            invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 1 // java.lang.String resourceName
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0         clazz  Ljava/lang/Class<*>;
            0    1     1  resourceName  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/net/URL;
    MethodParameters:
              Name  Flags
      clazz         
      resourceName  

  static java.net.URL which(java.lang.Class, java.lang.ClassLoader);
    descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.ClassLoader loader
         0: .line 520
            new java.lang.StringBuilder
            dup
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* classnameAsResource */
        start local 2 // java.lang.String classnameAsResource
         1: .line 522
            aload 1 /* loader */
            ifnonnull 3
         2: .line 523
            invokestatic javax.xml.bind.ContextFinder.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* loader */
         3: .line 526
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* loader */
            aload 2 /* classnameAsResource */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 2 // java.lang.String classnameAsResource
        end local 1 // java.lang.ClassLoader loader
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                clazz  Ljava/lang/Class;
            0    4     1               loader  Ljava/lang/ClassLoader;
            1    4     2  classnameAsResource  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      clazz   
      loader  

  static java.net.URL which(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 542
            aload 0 /* clazz */
            aload 0 /* clazz */
            invokestatic javax.xml.bind.ContextFinder.getClassClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            invokestatic javax.xml.bind.ContextFinder.which:(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/net/URL;
            areturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      clazz  

  private static java.lang.ClassLoader getContextClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 547
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 2
         1: .line 548
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            areturn
         2: .line 551
      StackMap locals:
      StackMap stack:
            new javax.xml.bind.ContextFinder$3
            dup
            invokespecial javax.xml.bind.ContextFinder$3.<init>:()V
         3: .line 550
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.ClassLoader getClassClassLoader(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 562
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 2
         1: .line 563
            aload 0 /* c */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            areturn
         2: .line 566
      StackMap locals:
      StackMap stack:
            new javax.xml.bind.ContextFinder$4
            dup
            aload 0 /* c */
            invokespecial javax.xml.bind.ContextFinder$4.<init>:(Ljava/lang/Class;)V
         3: .line 565
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            areturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     c  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      c     final

  private static java.lang.ClassLoader getSystemClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 576
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 2
         1: .line 577
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            areturn
         2: .line 580
      StackMap locals:
      StackMap stack:
            new javax.xml.bind.ContextFinder$5
            dup
            invokespecial javax.xml.bind.ContextFinder$5.<init>:()V
         3: .line 579
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.String firstByServiceLoaderDeprecated(java.lang.Class, java.lang.ClassLoader);
    descriptor: (Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // java.lang.Class spiClass
        start local 1 // java.lang.ClassLoader classLoader
         0: .line 594
            aload 0 /* spiClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* jaxbContextFQCN */
        start local 2 // java.lang.String jaxbContextFQCN
         1: .line 596
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            ldc "Searching META-INF/services"
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
         2: .line 599
            aconst_null
            astore 3 /* r */
        start local 3 // java.io.BufferedReader r
         3: .line 600
            new java.lang.StringBuilder
            dup
            ldc "META-INF/services/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* jaxbContextFQCN */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* resource */
        start local 4 // java.lang.String resource
         4: .line 603
            aload 1 /* classLoader */
            ifnonnull 6
         5: .line 604
            aload 4 /* resource */
            invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            goto 7
         6: .line 605
      StackMap locals: java.lang.String java.io.BufferedReader java.lang.String
      StackMap stack:
            aload 1 /* classLoader */
            aload 4 /* resource */
            invokevirtual java.lang.ClassLoader.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
         7: .line 602
      StackMap locals:
      StackMap stack: java.io.InputStream
            astore 5 /* resourceStream */
        start local 5 // java.io.InputStream resourceStream
         8: .line 607
            aload 5 /* resourceStream */
            ifnull 22
         9: .line 608
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 5 /* resourceStream */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 3 /* r */
        10: .line 609
            aload 3 /* r */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 6 /* factoryClassName */
        start local 6 // java.lang.String factoryClassName
        11: .line 610
            aload 6 /* factoryClassName */
            ifnull 13
        12: .line 611
            aload 6 /* factoryClassName */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 6 /* factoryClassName */
        13: .line 613
      StackMap locals: java.io.InputStream java.lang.String
      StackMap stack:
            aload 3 /* r */
            invokevirtual java.io.BufferedReader.close:()V
        14: .line 614
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Configured factorty class:{0}"
            aload 6 /* factoryClassName */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 615
            aload 6 /* factoryClassName */
            astore 8
        16: .line 624
            aload 3 /* r */
            ifnull 21
        17: .line 625
            aload 3 /* r */
            invokevirtual java.io.BufferedReader.close:()V
        18: .line 627
            goto 21
      StackMap locals: java.lang.Class java.lang.ClassLoader java.lang.String java.io.BufferedReader java.lang.String java.io.InputStream java.lang.String top java.lang.String
      StackMap stack: java.io.IOException
        19: astore 9 /* ex */
        start local 9 // java.io.IOException ex
        20: .line 628
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to close resource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* ex */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 9 // java.io.IOException ex
        21: .line 615
      StackMap locals:
      StackMap stack:
            aload 8
            areturn
        end local 6 // java.lang.String factoryClassName
        22: .line 617
      StackMap locals: java.lang.Class java.lang.ClassLoader java.lang.String java.io.BufferedReader java.lang.String java.io.InputStream
      StackMap stack:
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Unable to load:{0}"
            aload 4 /* resource */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
        23: .line 624
            aload 3 /* r */
            ifnull 28
        24: .line 625
            aload 3 /* r */
            invokevirtual java.io.BufferedReader.close:()V
        25: .line 627
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        26: astore 9 /* ex */
        start local 9 // java.io.IOException ex
        27: .line 628
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to close resource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* ex */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 9 // java.io.IOException ex
        28: .line 618
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.io.InputStream resourceStream
        29: .line 620
      StackMap locals: java.lang.Class java.lang.ClassLoader java.lang.String java.io.BufferedReader java.lang.String
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        30: .line 621
            new javax.xml.bind.JAXBException
            dup
            aload 5 /* e */
            invokespecial javax.xml.bind.JAXBException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.io.IOException e
        31: .line 622
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        32: .line 624
            aload 3 /* r */
            ifnull 37
        33: .line 625
            aload 3 /* r */
            invokevirtual java.io.BufferedReader.close:()V
        34: .line 627
            goto 37
      StackMap locals: java.lang.Class java.lang.ClassLoader java.lang.String java.io.BufferedReader java.lang.String top top java.lang.Throwable
      StackMap stack: java.io.IOException
        35: astore 9 /* ex */
        start local 9 // java.io.IOException ex
        36: .line 628
            getstatic javax.xml.bind.ContextFinder.logger:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Unable to close resource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* resource */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 9 /* ex */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 9 // java.io.IOException ex
        37: .line 630
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        end local 4 // java.lang.String resource
        end local 3 // java.io.BufferedReader r
        end local 2 // java.lang.String jaxbContextFQCN
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.Class spiClass
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0          spiClass  Ljava/lang/Class;
            0   38     1       classLoader  Ljava/lang/ClassLoader;
            1   38     2   jaxbContextFQCN  Ljava/lang/String;
            3   38     3                 r  Ljava/io/BufferedReader;
            4   38     4          resource  Ljava/lang/String;
            8   29     5    resourceStream  Ljava/io/InputStream;
           11   22     6  factoryClassName  Ljava/lang/String;
           30   31     5                 e  Ljava/io/IOException;
           20   21     9                ex  Ljava/io/IOException;
           27   28     9                ex  Ljava/io/IOException;
           36   37     9                ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          16    18      19  Class java.io.IOException
          23    25      26  Class java.io.IOException
           4    16      29  Class java.io.IOException
          22    23      29  Class java.io.IOException
           4    16      31  any
          22    23      31  any
          29    31      31  any
          32    34      35  Class java.io.IOException
    Exceptions:
      throws javax.xml.bind.JAXBException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      spiClass     
      classLoader  

  private static java.lang.String jaxbProperties(java.lang.String, java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // java.lang.String contextPath
        start local 1 // java.lang.ClassLoader classLoader
        start local 2 // java.lang.String factoryId
         0: .line 634
            aload 0 /* contextPath */
            ldc ":"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* packages */
        start local 3 // java.lang.String[] packages
         1: .line 636
            aload 3 /* packages */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 10
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* pkg */
        start local 4 // java.lang.String pkg
         3: .line 637
            aload 4 /* pkg */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 8 /* pkgUrl */
        start local 8 // java.lang.String pkgUrl
         4: .line 638
            aload 1 /* classLoader */
            new java.lang.StringBuilder
            dup
            aload 8 /* pkgUrl */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/jaxb.properties"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic javax.xml.bind.ContextFinder.getResourceUrl:(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/net/URL;
            astore 9 /* jaxbPropertiesUrl */
        start local 9 // java.net.URL jaxbPropertiesUrl
         5: .line 639
            aload 9 /* jaxbPropertiesUrl */
            ifnull 9
         6: .line 640
            aload 9 /* jaxbPropertiesUrl */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
         7: .line 641
            aload 2 /* factoryId */
            aastore
            dup
            iconst_1
            ldc "javax.xml.bind.context.factory"
            aastore
         8: .line 640
            invokestatic javax.xml.bind.ContextFinder.classNameFromPackageProperties:(Ljava/net/URL;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 9 // java.net.URL jaxbPropertiesUrl
        end local 8 // java.lang.String pkgUrl
        end local 4 // java.lang.String pkg
         9: .line 636
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        10: iload 5
            iload 6
            if_icmplt 2
        11: .line 644
            aconst_null
            areturn
        end local 3 // java.lang.String[] packages
        end local 2 // java.lang.String factoryId
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // java.lang.String contextPath
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0        contextPath  Ljava/lang/String;
            0   12     1        classLoader  Ljava/lang/ClassLoader;
            0   12     2          factoryId  Ljava/lang/String;
            1   12     3           packages  [Ljava/lang/String;
            3    9     4                pkg  Ljava/lang/String;
            4    9     8             pkgUrl  Ljava/lang/String;
            5    9     9  jaxbPropertiesUrl  Ljava/net/URL;
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
             Name  Flags
      contextPath  
      classLoader  
      factoryId    

  private static java.lang.String jaxbProperties(java.lang.Class[], java.lang.String);
    descriptor: ([Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // java.lang.Class[] classesFromContextPath
        start local 1 // java.lang.String factoryId
         0: .line 648
            aload 0 /* classesFromContextPath */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: java.lang.Class[] java.lang.String top int int java.lang.Class[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* c */
        start local 2 // java.lang.Class c
         2: .line 649
            aload 2 /* c */
            ldc "jaxb.properties"
            invokestatic javax.xml.bind.ContextFinder.getResourceUrl:(Ljava/lang/Class;Ljava/lang/String;)Ljava/net/URL;
            astore 6 /* jaxbPropertiesUrl */
        start local 6 // java.net.URL jaxbPropertiesUrl
         3: .line 650
            aload 6 /* jaxbPropertiesUrl */
            ifnull 5
         4: .line 651
            aload 6 /* jaxbPropertiesUrl */
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* factoryId */
            aastore
            dup
            iconst_1
            ldc "javax.xml.bind.context.factory"
            aastore
            invokestatic javax.xml.bind.ContextFinder.classNameFromPackageProperties:(Ljava/net/URL;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 6 // java.net.URL jaxbPropertiesUrl
        end local 2 // java.lang.Class c
         5: .line 648
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 1
         7: .line 654
            aconst_null
            areturn
        end local 1 // java.lang.String factoryId
        end local 0 // java.lang.Class[] classesFromContextPath
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0  classesFromContextPath  [Ljava/lang/Class;
            0    8     1               factoryId  Ljava/lang/String;
            2    5     2                       c  Ljava/lang/Class;
            3    5     6       jaxbPropertiesUrl  Ljava/net/URL;
    Exceptions:
      throws javax.xml.bind.JAXBException
    MethodParameters:
                        Name  Flags
      classesFromContextPath  
      factoryId               
}
SourceFile: "ContextFinder.java"
NestMembers:
  javax.xml.bind.ContextFinder$1  javax.xml.bind.ContextFinder$2  javax.xml.bind.ContextFinder$3  javax.xml.bind.ContextFinder$4  javax.xml.bind.ContextFinder$5
InnerClasses:
  javax.xml.bind.ContextFinder$1
  javax.xml.bind.ContextFinder$2
  javax.xml.bind.ContextFinder$3
  javax.xml.bind.ContextFinder$4
  javax.xml.bind.ContextFinder$5
  abstract ExceptionHandler = javax.xml.bind.ServiceLoaderUtil$ExceptionHandler of javax.xml.bind.ServiceLoaderUtil