class org.glassfish.jersey.server.ApplicationConfigurator implements org.glassfish.jersey.internal.BootstrapConfigurator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.glassfish.jersey.server.ApplicationConfigurator
  super_class: java.lang.Object
{
  private javax.ws.rs.core.Application application;
    descriptor: Ljavax/ws/rs/core/Application;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Class<? extends javax.ws.rs.core.Application> applicationClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<+Ljavax/ws/rs/core/Application;>;

  void <init>(javax.ws.rs.core.Application);
    descriptor: (Ljavax/ws/rs/core/Application;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.server.ApplicationConfigurator this
        start local 1 // javax.ws.rs.core.Application application
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            aload 1 /* application */
            putfield org.glassfish.jersey.server.ApplicationConfigurator.application:Ljavax/ws/rs/core/Application;
         2: .line 51
            return
        end local 1 // javax.ws.rs.core.Application application
        end local 0 // org.glassfish.jersey.server.ApplicationConfigurator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/glassfish/jersey/server/ApplicationConfigurator;
            0    3     1  application  Ljavax/ws/rs/core/Application;
    MethodParameters:
             Name  Flags
      application  

  void <init>(java.lang.Class<? extends javax.ws.rs.core.Application>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.server.ApplicationConfigurator this
        start local 1 // java.lang.Class applicationClass
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            aload 1 /* applicationClass */
            putfield org.glassfish.jersey.server.ApplicationConfigurator.applicationClass:Ljava/lang/Class;
         2: .line 60
            return
        end local 1 // java.lang.Class applicationClass
        end local 0 // org.glassfish.jersey.server.ApplicationConfigurator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/glassfish/jersey/server/ApplicationConfigurator;
            0    3     1  applicationClass  Ljava/lang/Class<+Ljavax/ws/rs/core/Application;>;
    Signature: (Ljava/lang/Class<+Ljavax/ws/rs/core/Application;>;)V
    MethodParameters:
                  Name  Flags
      applicationClass  

  public void init(org.glassfish.jersey.internal.inject.InjectionManager, org.glassfish.jersey.internal.BootstrapBag);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Lorg/glassfish/jersey/internal/BootstrapBag;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.glassfish.jersey.server.ApplicationConfigurator this
        start local 1 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 2 // org.glassfish.jersey.internal.BootstrapBag bootstrapBag
         0: .line 64
            aload 2 /* bootstrapBag */
            checkcast org.glassfish.jersey.server.ServerBootstrapBag
            astore 3 /* serverBag */
        start local 3 // org.glassfish.jersey.server.ServerBootstrapBag serverBag
         1: .line 68
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ApplicationConfigurator.application:Ljavax/ws/rs/core/Application;
            ifnull 10
         2: .line 69
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ApplicationConfigurator.application:Ljavax/ws/rs/core/Application;
            instanceof org.glassfish.jersey.server.ResourceConfig
            ifeq 8
         3: .line 70
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ApplicationConfigurator.application:Ljavax/ws/rs/core/Application;
            checkcast org.glassfish.jersey.server.ResourceConfig
            astore 5 /* rc */
        start local 5 // org.glassfish.jersey.server.ResourceConfig rc
         4: .line 71
            aload 5 /* rc */
            invokevirtual org.glassfish.jersey.server.ResourceConfig.getApplicationClass:()Ljava/lang/Class;
            ifnull 8
         5: .line 72
            aload 5 /* rc */
         6: .line 73
            aload 1 /* injectionManager */
            aload 5 /* rc */
            invokevirtual org.glassfish.jersey.server.ResourceConfig.getApplicationClass:()Ljava/lang/Class;
            aload 3 /* serverBag */
            invokevirtual org.glassfish.jersey.server.ServerBootstrapBag.getComponentProviders:()Lorg/glassfish/jersey/internal/util/collection/LazyValue;
         7: .line 72
            invokestatic org.glassfish.jersey.server.ApplicationConfigurator.createApplication:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Lorg/glassfish/jersey/internal/util/collection/Value;)Ljavax/ws/rs/core/Application;
            invokevirtual org.glassfish.jersey.server.ResourceConfig.setApplication:(Ljavax/ws/rs/core/Application;)Lorg/glassfish/jersey/server/ResourceConfig;
            pop
        end local 5 // org.glassfish.jersey.server.ResourceConfig rc
         8: .line 76
      StackMap locals: org.glassfish.jersey.server.ServerBootstrapBag
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ApplicationConfigurator.application:Ljavax/ws/rs/core/Application;
            astore 4 /* resultApplication */
        start local 4 // javax.ws.rs.core.Application resultApplication
         9: .line 79
            goto 11
        end local 4 // javax.ws.rs.core.Application resultApplication
        10: .line 80
      StackMap locals:
      StackMap stack:
            aload 1 /* injectionManager */
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ApplicationConfigurator.applicationClass:Ljava/lang/Class;
            aload 3 /* serverBag */
            invokevirtual org.glassfish.jersey.server.ServerBootstrapBag.getComponentProviders:()Lorg/glassfish/jersey/internal/util/collection/LazyValue;
            invokestatic org.glassfish.jersey.server.ApplicationConfigurator.createApplication:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Lorg/glassfish/jersey/internal/util/collection/Value;)Ljavax/ws/rs/core/Application;
            astore 4 /* resultApplication */
        start local 4 // javax.ws.rs.core.Application resultApplication
        11: .line 83
      StackMap locals: javax.ws.rs.core.Application
      StackMap stack:
            aload 3 /* serverBag */
            aload 4 /* resultApplication */
            invokevirtual org.glassfish.jersey.server.ServerBootstrapBag.setApplication:(Ljavax/ws/rs/core/Application;)V
        12: .line 84
            aload 1 /* injectionManager */
            aload 4 /* resultApplication */
            invokestatic org.glassfish.jersey.internal.inject.Bindings.service:(Ljava/lang/Object;)Lorg/glassfish/jersey/internal/inject/InstanceBinding;
            ldc Ljavax/ws/rs/core/Application;
            invokevirtual org.glassfish.jersey.internal.inject.InstanceBinding.to:(Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binding;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binding;)V
        13: .line 85
            return
        end local 4 // javax.ws.rs.core.Application resultApplication
        end local 3 // org.glassfish.jersey.server.ServerBootstrapBag serverBag
        end local 2 // org.glassfish.jersey.internal.BootstrapBag bootstrapBag
        end local 1 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        end local 0 // org.glassfish.jersey.server.ApplicationConfigurator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/glassfish/jersey/server/ApplicationConfigurator;
            0   14     1   injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0   14     2       bootstrapBag  Lorg/glassfish/jersey/internal/BootstrapBag;
            1   14     3          serverBag  Lorg/glassfish/jersey/server/ServerBootstrapBag;
            9   10     4  resultApplication  Ljavax/ws/rs/core/Application;
           11   14     4  resultApplication  Ljavax/ws/rs/core/Application;
            4    8     5                 rc  Lorg/glassfish/jersey/server/ResourceConfig;
    MethodParameters:
                  Name  Flags
      injectionManager  
      bootstrapBag      

  private static javax.ws.rs.core.Application createApplication(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<? extends javax.ws.rs.core.Application>, org.glassfish.jersey.internal.util.collection.Value<java.util.Collection<org.glassfish.jersey.server.spi.ComponentProvider>>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Lorg/glassfish/jersey/internal/util/collection/Value;)Ljavax/ws/rs/core/Application;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class applicationClass
        start local 2 // org.glassfish.jersey.internal.util.collection.Value componentProvidersValue
         0: .line 93
            aload 1 /* applicationClass */
            ldc Lorg/glassfish/jersey/server/ResourceConfig;
            if_acmpne 2
         1: .line 94
            new org.glassfish.jersey.server.ResourceConfig
            dup
            invokespecial org.glassfish.jersey.server.ResourceConfig.<init>:()V
            areturn
         2: .line 95
      StackMap locals:
      StackMap stack:
            aload 1 /* applicationClass */
            ldc Ljavax/ws/rs/core/Application;
            if_acmpne 4
         3: .line 96
            new javax.ws.rs.core.Application
            dup
            invokespecial javax.ws.rs.core.Application.<init>:()V
            areturn
         4: .line 98
      StackMap locals:
      StackMap stack:
            aload 2 /* componentProvidersValue */
            invokeinterface org.glassfish.jersey.internal.util.collection.Value.get:()Ljava/lang/Object;
            checkcast java.util.Collection
            astore 3 /* componentProviders */
        start local 3 // java.util.Collection componentProviders
         5: .line 99
            iconst_0
            istore 4 /* appClassBound */
        start local 4 // boolean appClassBound
         6: .line 100
            aload 3 /* componentProviders */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 11
      StackMap locals: org.glassfish.jersey.internal.inject.InjectionManager java.lang.Class org.glassfish.jersey.internal.util.collection.Value java.util.Collection int top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.jersey.server.spi.ComponentProvider
            astore 5 /* cp */
        start local 5 // org.glassfish.jersey.server.spi.ComponentProvider cp
         8: .line 101
            aload 5 /* cp */
            aload 1 /* applicationClass */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            invokeinterface org.glassfish.jersey.server.spi.ComponentProvider.bind:(Ljava/lang/Class;Ljava/util/Set;)Z
            ifeq 11
         9: .line 102
            iconst_1
            istore 4 /* appClassBound */
        10: .line 103
            goto 12
        end local 5 // org.glassfish.jersey.server.spi.ComponentProvider cp
        11: .line 100
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        12: .line 106
      StackMap locals: org.glassfish.jersey.internal.inject.InjectionManager java.lang.Class org.glassfish.jersey.internal.util.collection.Value java.util.Collection int
      StackMap stack:
            iload 4 /* appClassBound */
            ifne 16
        13: .line 107
            aload 1 /* applicationClass */
            ldc Ljavax/inject/Singleton;
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 16
        14: .line 108
            aload 0 /* injectionManager */
            aload 1 /* applicationClass */
            invokestatic org.glassfish.jersey.internal.inject.Bindings.serviceAsContract:(Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/ClassBinding;
            ldc Ljavax/inject/Singleton;
            invokevirtual org.glassfish.jersey.internal.inject.ClassBinding.in:(Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binding;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binding;)V
        15: .line 109
            iconst_1
            istore 4 /* appClassBound */
        16: .line 112
      StackMap locals:
      StackMap stack:
            iload 4 /* appClassBound */
            ifeq 18
        17: .line 113
            aload 0 /* injectionManager */
            aload 1 /* applicationClass */
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.getInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.ws.rs.core.Application
            goto 19
        18: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* injectionManager */
            aload 1 /* applicationClass */
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.createAndInitialize:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast javax.ws.rs.core.Application
        19: .line 112
      StackMap locals:
      StackMap stack: javax.ws.rs.core.Application
            astore 5 /* app */
        start local 5 // javax.ws.rs.core.Application app
        20: .line 115
            aload 5 /* app */
            instanceof org.glassfish.jersey.server.ResourceConfig
            ifeq 26
        21: .line 116
            aload 5 /* app */
            checkcast org.glassfish.jersey.server.ResourceConfig
            astore 6 /* _rc */
        start local 6 // org.glassfish.jersey.server.ResourceConfig _rc
        22: .line 117
            aload 6 /* _rc */
            invokevirtual org.glassfish.jersey.server.ResourceConfig.getApplicationClass:()Ljava/lang/Class;
            astore 7 /* innerAppClass */
        start local 7 // java.lang.Class innerAppClass
        23: .line 118
            aload 7 /* innerAppClass */
            ifnull 26
        24: .line 119
            aload 0 /* injectionManager */
            aload 7 /* innerAppClass */
            aload 2 /* componentProvidersValue */
            invokestatic org.glassfish.jersey.server.ApplicationConfigurator.createApplication:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Lorg/glassfish/jersey/internal/util/collection/Value;)Ljavax/ws/rs/core/Application;
            astore 8 /* innerApp */
        start local 8 // javax.ws.rs.core.Application innerApp
        25: .line 120
            aload 6 /* _rc */
            aload 8 /* innerApp */
            invokevirtual org.glassfish.jersey.server.ResourceConfig.setApplication:(Ljavax/ws/rs/core/Application;)Lorg/glassfish/jersey/server/ResourceConfig;
            pop
        end local 8 // javax.ws.rs.core.Application innerApp
        end local 7 // java.lang.Class innerAppClass
        end local 6 // org.glassfish.jersey.server.ResourceConfig _rc
        26: .line 123
      StackMap locals: javax.ws.rs.core.Application
      StackMap stack:
            aload 5 /* app */
            areturn
        end local 5 // javax.ws.rs.core.Application app
        end local 4 // boolean appClassBound
        end local 3 // java.util.Collection componentProviders
        end local 2 // org.glassfish.jersey.internal.util.collection.Value componentProvidersValue
        end local 1 // java.lang.Class applicationClass
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   27     0         injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0   27     1         applicationClass  Ljava/lang/Class<+Ljavax/ws/rs/core/Application;>;
            0   27     2  componentProvidersValue  Lorg/glassfish/jersey/internal/util/collection/Value<Ljava/util/Collection<Lorg/glassfish/jersey/server/spi/ComponentProvider;>;>;
            5   27     3       componentProviders  Ljava/util/Collection<Lorg/glassfish/jersey/server/spi/ComponentProvider;>;
            6   27     4            appClassBound  Z
            8   11     5                       cp  Lorg/glassfish/jersey/server/spi/ComponentProvider;
           20   27     5                      app  Ljavax/ws/rs/core/Application;
           22   26     6                      _rc  Lorg/glassfish/jersey/server/ResourceConfig;
           23   26     7            innerAppClass  Ljava/lang/Class<+Ljavax/ws/rs/core/Application;>;
           25   26     8                 innerApp  Ljavax/ws/rs/core/Application;
    Signature: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<+Ljavax/ws/rs/core/Application;>;Lorg/glassfish/jersey/internal/util/collection/Value<Ljava/util/Collection<Lorg/glassfish/jersey/server/spi/ComponentProvider;>;>;)Ljavax/ws/rs/core/Application;
    MethodParameters:
                         Name  Flags
      injectionManager         
      applicationClass         
      componentProvidersValue  
}
SourceFile: "ApplicationConfigurator.java"