public abstract class com.sun.xml.internal.ws.spi.db.BindingContextFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.xml.internal.ws.spi.db.BindingContextFactory
  super_class: java.lang.Object
{
  public static final java.lang.String DefaultDatabindingMode;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "glassfish.jaxb"

  public static final java.lang.String JAXB_CONTEXT_FACTORY_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            ldc Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.JAXB_CONTEXT_FACTORY_PROPERTY:Ljava/lang/String;
         1: .line 51
            ldc Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.xml.internal.ws.spi.db.BindingContextFactory this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.xml.internal.ws.spi.db.BindingContextFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;

  public static java.util.Iterator<com.sun.xml.internal.ws.spi.db.BindingContextFactory> serviceIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 56
            ldc Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            invokestatic com.sun.xml.internal.ws.util.ServiceFinder.find:(Ljava/lang/Class;)Lcom/sun/xml/internal/ws/util/ServiceFinder;
         1: .line 55
            astore 0 /* sf */
        start local 0 // com.sun.xml.internal.ws.util.ServiceFinder sf
         2: .line 57
            aload 0 /* sf */
            invokevirtual com.sun.xml.internal.ws.util.ServiceFinder.iterator:()Ljava/util/Iterator;
            astore 1 /* ibcf */
        start local 1 // java.util.Iterator ibcf
         3: .line 59
            new com.sun.xml.internal.ws.spi.db.BindingContextFactory$1
            dup
            aload 1 /* ibcf */
            invokespecial com.sun.xml.internal.ws.spi.db.BindingContextFactory$1.<init>:(Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator ibcf
        end local 0 // com.sun.xml.internal.ws.util.ServiceFinder sf
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    4     0    sf  Lcom/sun/xml/internal/ws/util/ServiceFinder<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;
            3    4     1  ibcf  Ljava/util/Iterator<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;
    Signature: ()Ljava/util/Iterator<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;

  private static java.util.List<com.sun.xml.internal.ws.spi.db.BindingContextFactory> factories();
    descriptor: ()Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=0
         0: .line 94
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* factories */
        start local 0 // java.util.List factories
         1: .line 95
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.serviceIterator:()Ljava/util/Iterator;
            astore 1 /* ibcf */
        start local 1 // java.util.Iterator ibcf
         2: .line 96
            goto 4
         3: .line 97
      StackMap locals: java.util.List java.util.Iterator
      StackMap stack:
            aload 0 /* factories */
            aload 1 /* ibcf */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.spi.db.BindingContextFactory
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 96
      StackMap locals:
      StackMap stack:
            aload 1 /* ibcf */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         5: .line 100
            aload 0 /* factories */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 11
         6: .line 101
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 10
         7: .line 102
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "No SPI providers for BindingContextFactory found, adding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 103
            ldc Lcom/sun/xml/internal/ws/db/glassfish/JAXBRIContextFactory;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 102
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        10: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* factories */
            new com.sun.xml.internal.ws.db.glassfish.JAXBRIContextFactory
            dup
            invokespecial com.sun.xml.internal.ws.db.glassfish.JAXBRIContextFactory.<init>:()V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* factories */
            areturn
        end local 1 // java.util.Iterator ibcf
        end local 0 // java.util.List factories
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            1   12     0  factories  Ljava/util/List<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;
            2   12     1       ibcf  Ljava/util/Iterator<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;
    Signature: ()Ljava/util/List<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;

  protected abstract com.sun.xml.internal.ws.spi.db.BindingContext newContext(javax.xml.bind.JAXBContext);
    descriptor: (Ljavax/xml/bind/JAXBContext;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      context  

  protected abstract com.sun.xml.internal.ws.spi.db.BindingContext newContext(com.sun.xml.internal.ws.spi.db.BindingInfo);
    descriptor: (Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      bi    

  protected abstract boolean isFor(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      databinding  

  protected abstract com.sun.xml.internal.ws.spi.db.BindingContext getContext(javax.xml.bind.Marshaller);
    descriptor: (Ljavax/xml/bind/Marshaller;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      m     

  private static com.sun.xml.internal.ws.spi.db.BindingContextFactory getFactory(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String mode
         0: .line 127
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.factories:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.spi.db.BindingContextFactory
            astore 1 /* f */
        start local 1 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
         2: .line 128
            aload 1 /* f */
            aload 0 /* mode */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.isFor:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 129
            aload 1 /* f */
            areturn
        end local 1 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
         4: .line 127
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 131
            aconst_null
            areturn
        end local 0 // java.lang.String mode
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  mode  Ljava/lang/String;
            2    4     1     f  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
    MethodParameters:
      Name  Flags
      mode  

  public static com.sun.xml.internal.ws.spi.db.BindingContext create(javax.xml.bind.JAXBContext);
    descriptor: (Ljavax/xml/bind/JAXBContext;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.xml.bind.JAXBContext context
         0: .line 135
            aload 0 /* context */
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.getJAXBFactory:(Ljava/lang/Object;)Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            aload 0 /* context */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.newContext:(Ljavax/xml/bind/JAXBContext;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
            areturn
        end local 0 // javax.xml.bind.JAXBContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  context  Ljavax/xml/bind/JAXBContext;
    Exceptions:
      throws com.sun.xml.internal.ws.spi.db.DatabindingException
    MethodParameters:
         Name  Flags
      context  

  public static com.sun.xml.internal.ws.spi.db.BindingContext create(com.sun.xml.internal.ws.spi.db.BindingInfo);
    descriptor: (Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.sun.xml.internal.ws.spi.db.BindingInfo bi
         0: .line 141
            aload 0 /* bi */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingInfo.getDatabindingMode:()Ljava/lang/String;
            astore 1 /* mode */
        start local 1 // java.lang.String mode
         1: .line 142
            aload 1 /* mode */
            ifnull 7
         2: .line 143
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.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 26
         3: .line 144
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Using SEI-configured databindng mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 145
            aload 1 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 144
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         6: .line 146
            goto 26
      StackMap locals: java.lang.String
      StackMap stack:
         7: ldc "BindingContextFactory"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 1 /* mode */
            ifnull 14
         8: .line 149
            aload 0 /* bi */
            aload 1 /* mode */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingInfo.setDatabindingMode:(Ljava/lang/String;)V
         9: .line 150
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.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 26
        10: .line 151
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Using databindng: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 152
            ldc " based on 'BindingContextFactory' System property"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 151
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        13: .line 153
            goto 26
      StackMap locals:
      StackMap stack:
        14: getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.JAXB_CONTEXT_FACTORY_PROPERTY:Ljava/lang/String;
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 1 /* mode */
            ifnull 22
        15: .line 154
            aload 0 /* bi */
            aload 1 /* mode */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingInfo.setDatabindingMode:(Ljava/lang/String;)V
        16: .line 155
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.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 26
        17: .line 156
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Using databindng: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 157
            ldc " based on '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.JAXB_CONTEXT_FACTORY_PROPERTY:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 158
            ldc "' System property"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 156
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        21: .line 159
            goto 26
        22: .line 161
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.factories:()Ljava/util/List;
            aload 0 /* bi */
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.getBindingContextFromSpi:(Ljava/util/List;Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
            astore 2 /* factory */
        start local 2 // com.sun.xml.internal.ws.spi.db.BindingContext factory
        23: .line 162
            aload 2 /* factory */
            ifnull 24
            aload 2 /* factory */
            areturn
        24: .line 164
      StackMap locals: com.sun.xml.internal.ws.spi.db.BindingContext
      StackMap stack:
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.SEVERE:Ljava/util/logging/Level;
            ldc "No Binding Context Factories found."
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        25: .line 165
            new com.sun.xml.internal.ws.spi.db.DatabindingException
            dup
            ldc "No Binding Context Factories found."
            invokespecial com.sun.xml.internal.ws.spi.db.DatabindingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // com.sun.xml.internal.ws.spi.db.BindingContext factory
        26: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* mode */
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.getFactory:(Ljava/lang/String;)Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            astore 2 /* f */
        start local 2 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
        27: .line 168
            aload 2 /* f */
            ifnull 29
        28: .line 169
            aload 2 /* f */
            aload 0 /* bi */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.newContext:(Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
            areturn
        29: .line 170
      StackMap locals: com.sun.xml.internal.ws.spi.db.BindingContextFactory
      StackMap stack:
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Unknown Databinding mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.severe:(Ljava/lang/String;)V
        30: .line 171
            new com.sun.xml.internal.ws.spi.db.DatabindingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown Databinding mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.sun.xml.internal.ws.spi.db.DatabindingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
        end local 1 // java.lang.String mode
        end local 0 // com.sun.xml.internal.ws.spi.db.BindingInfo bi
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   31     0       bi  Lcom/sun/xml/internal/ws/spi/db/BindingInfo;
            1   31     1     mode  Ljava/lang/String;
           23   26     2  factory  Lcom/sun/xml/internal/ws/spi/db/BindingContext;
           27   31     2        f  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
    MethodParameters:
      Name  Flags
      bi    

  private static com.sun.xml.internal.ws.spi.db.BindingContext getBindingContextFromSpi(java.util.List<com.sun.xml.internal.ws.spi.db.BindingContextFactory>, com.sun.xml.internal.ws.spi.db.BindingInfo);
    descriptor: (Ljava/util/List;Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.util.List factories
        start local 1 // com.sun.xml.internal.ws.spi.db.BindingInfo bindingInfo
         0: .line 185
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* fallback */
        start local 2 // java.util.List fallback
         1: .line 187
            aload 0 /* factories */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: java.util.List com.sun.xml.internal.ws.spi.db.BindingInfo java.util.List top top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.spi.db.BindingContextFactory
            astore 4 /* factory */
        start local 4 // com.sun.xml.internal.ws.spi.db.BindingContextFactory factory
         3: .line 188
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.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 5
         4: .line 189
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Found SPI-determined databindng mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* factory */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
         5: .line 191
      StackMap locals: java.util.List com.sun.xml.internal.ws.spi.db.BindingInfo java.util.List top com.sun.xml.internal.ws.spi.db.BindingContextFactory java.util.Iterator
      StackMap stack:
            aload 4 /* factory */
            ldc "org.eclipse.persistence.jaxb"
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.isFor:(Ljava/lang/String;)Z
            ifne 6
            aload 4 /* factory */
            ldc "com.sun.xml.internal.bind.v2.runtime"
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.isFor:(Ljava/lang/String;)Z
            ifeq 9
         6: .line 192
      StackMap locals:
      StackMap stack:
            aload 4 /* factory */
            aload 1 /* bindingInfo */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.newContext:(Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
            astore 3 /* result */
        start local 3 // com.sun.xml.internal.ws.spi.db.BindingContext result
         7: .line 193
            aload 3 /* result */
            ifnull 12
         8: .line 194
            aload 3 /* result */
            areturn
        end local 3 // com.sun.xml.internal.ws.spi.db.BindingContext result
         9: .line 197
      StackMap locals:
      StackMap stack:
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.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 11
        10: .line 198
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Skipped -> not JAXB."
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        11: .line 200
      StackMap locals:
      StackMap stack:
            aload 2 /* fallback */
            aload 4 /* factory */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // com.sun.xml.internal.ws.spi.db.BindingContextFactory factory
        12: .line 187
      StackMap locals: java.util.List com.sun.xml.internal.ws.spi.db.BindingInfo java.util.List top top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        13: .line 203
            aload 2 /* fallback */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 20
      StackMap locals:
      StackMap stack:
        14: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.spi.db.BindingContextFactory
            astore 4 /* factory */
        start local 4 // com.sun.xml.internal.ws.spi.db.BindingContextFactory factory
        15: .line 204
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.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 17
        16: .line 205
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Fallback. Creating from: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* factory */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        17: .line 207
      StackMap locals: java.util.List com.sun.xml.internal.ws.spi.db.BindingInfo java.util.List top com.sun.xml.internal.ws.spi.db.BindingContextFactory java.util.Iterator
      StackMap stack:
            aload 4 /* factory */
            aload 1 /* bindingInfo */
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.getContextOrNullIfError:(Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
            astore 3 /* result */
        start local 3 // com.sun.xml.internal.ws.spi.db.BindingContext result
        18: .line 208
            aload 3 /* result */
            ifnull 20
        19: .line 209
            aload 3 /* result */
            areturn
        end local 4 // com.sun.xml.internal.ws.spi.db.BindingContextFactory factory
        end local 3 // com.sun.xml.internal.ws.spi.db.BindingContext result
        20: .line 203
      StackMap locals: java.util.List com.sun.xml.internal.ws.spi.db.BindingInfo java.util.List top top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        21: .line 212
            aconst_null
            areturn
        end local 2 // java.util.List fallback
        end local 1 // com.sun.xml.internal.ws.spi.db.BindingInfo bindingInfo
        end local 0 // java.util.List factories
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0    factories  Ljava/util/List<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;
            0   22     1  bindingInfo  Lcom/sun/xml/internal/ws/spi/db/BindingInfo;
            1   22     2     fallback  Ljava/util/List<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;
            7    9     3       result  Lcom/sun/xml/internal/ws/spi/db/BindingContext;
           18   20     3       result  Lcom/sun/xml/internal/ws/spi/db/BindingContext;
            3   12     4      factory  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
           15   20     4      factory  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
    Signature: (Ljava/util/List<Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;>;Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    MethodParameters:
             Name  Flags
      factories    
      bindingInfo  

  private static com.sun.xml.internal.ws.spi.db.BindingContext getContextOrNullIfError(com.sun.xml.internal.ws.spi.db.BindingContextFactory, com.sun.xml.internal.ws.spi.db.BindingInfo);
    descriptor: (Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.xml.internal.ws.spi.db.BindingContextFactory factory
        start local 1 // com.sun.xml.internal.ws.spi.db.BindingInfo bindingInfo
         0: .line 223
            aload 0 /* factory */
            aload 1 /* bindingInfo */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.newContext:(Lcom/sun/xml/internal/ws/spi/db/BindingInfo;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
         1: areturn
         2: .line 224
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         3: .line 225
            getstatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 2 /* e */
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
         4: .line 226
            aconst_null
            areturn
        end local 2 // java.lang.Exception e
        end local 1 // com.sun.xml.internal.ws.spi.db.BindingInfo bindingInfo
        end local 0 // com.sun.xml.internal.ws.spi.db.BindingContextFactory factory
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      factory  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            0    5     1  bindingInfo  Lcom/sun/xml/internal/ws/spi/db/BindingInfo;
            3    5     2            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      factory      
      bindingInfo  

  public static boolean isContextSupported(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.Object o
         0: .line 231
            aload 0 /* o */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            astore 1 /* pkgName */
        start local 1 // java.lang.String pkgName
         2: .line 233
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.factories:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.lang.Object java.lang.String top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.ws.spi.db.BindingContextFactory
            astore 2 /* f */
        start local 2 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
         4: aload 2 /* f */
            aload 1 /* pkgName */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.isFor:(Ljava/lang/String;)Z
            ifeq 5
            iconst_1
            ireturn
        end local 2 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
      StackMap locals:
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 234
            iconst_0
            ireturn
        end local 1 // java.lang.String pkgName
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0        o  Ljava/lang/Object;
            2    7     1  pkgName  Ljava/lang/String;
            4    5     2        f  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
    MethodParameters:
      Name  Flags
      o     

  static com.sun.xml.internal.ws.spi.db.BindingContextFactory getJAXBFactory(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.Object o
         0: .line 238
            aload 0 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            astore 1 /* pkgName */
        start local 1 // java.lang.String pkgName
         1: .line 239
            aload 1 /* pkgName */
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.getFactory:(Ljava/lang/String;)Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            astore 2 /* f */
        start local 2 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
         2: .line 240
            aload 2 /* f */
            ifnull 3
            aload 2 /* f */
            areturn
         3: .line 241
      StackMap locals: java.lang.String com.sun.xml.internal.ws.spi.db.BindingContextFactory
      StackMap stack:
            new com.sun.xml.internal.ws.spi.db.DatabindingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown JAXBContext implementation: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.sun.xml.internal.ws.spi.db.DatabindingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // com.sun.xml.internal.ws.spi.db.BindingContextFactory f
        end local 1 // java.lang.String pkgName
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0        o  Ljava/lang/Object;
            1    4     1  pkgName  Ljava/lang/String;
            2    4     2        f  Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
    MethodParameters:
      Name  Flags
      o     

  public static com.sun.xml.internal.ws.spi.db.BindingContext getBindingContext(javax.xml.bind.Marshaller);
    descriptor: (Ljavax/xml/bind/Marshaller;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.xml.bind.Marshaller m
         0: .line 249
            aload 0 /* m */
            invokestatic com.sun.xml.internal.ws.spi.db.BindingContextFactory.getJAXBFactory:(Ljava/lang/Object;)Lcom/sun/xml/internal/ws/spi/db/BindingContextFactory;
            aload 0 /* m */
            invokevirtual com.sun.xml.internal.ws.spi.db.BindingContextFactory.getContext:(Ljavax/xml/bind/Marshaller;)Lcom/sun/xml/internal/ws/spi/db/BindingContext;
            areturn
        end local 0 // javax.xml.bind.Marshaller m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     m  Ljavax/xml/bind/Marshaller;
    MethodParameters:
      Name  Flags
      m     
}
SourceFile: "BindingContextFactory.java"
NestMembers:
  com.sun.xml.internal.ws.spi.db.BindingContextFactory$1
InnerClasses:
  com.sun.xml.internal.ws.spi.db.BindingContextFactory$1