public class org.glassfish.jersey.internal.inject.ProviderBinder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.jersey.internal.inject.ProviderBinder
  super_class: java.lang.Object
{
  private final org.glassfish.jersey.internal.inject.InjectionManager injectionManager;
    descriptor: Lorg/glassfish/jersey/internal/inject/InjectionManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.glassfish.jersey.internal.inject.InjectionManager);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            aload 1 /* injectionManager */
            putfield org.glassfish.jersey.internal.inject.ProviderBinder.injectionManager:Lorg/glassfish/jersey/internal/inject/InjectionManager;
         2: .line 67
            return
        end local 1 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    3     1  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
    MethodParameters:
                  Name  Flags
      injectionManager  final

  public static <T> void bindProvider(java.lang.Class<T>, org.glassfish.jersey.model.ContractProvider, org.glassfish.jersey.internal.inject.InjectionManager);
    descriptor: (Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.Class providerClass
        start local 1 // org.glassfish.jersey.model.ContractProvider model
        start local 2 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
         0: .line 76
            aload 2 /* injectionManager */
            aload 0 /* providerClass */
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.getInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            astore 3 /* instance */
        start local 3 // java.lang.Object instance
         1: .line 77
            aload 3 /* instance */
            ifnull 4
         2: .line 78
            aload 2 /* injectionManager */
            aload 3 /* instance */
            aload 1 /* model */
            invokestatic org.glassfish.jersey.internal.inject.ProviderBinder.createInstanceBinder:(Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)Lorg/glassfish/jersey/internal/inject/Binder;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binder;)V
         3: .line 79
            goto 5
         4: .line 80
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* injectionManager */
            aload 1 /* model */
            invokestatic org.glassfish.jersey.internal.inject.ProviderBinder.createClassBinder:(Lorg/glassfish/jersey/model/ContractProvider;)Lorg/glassfish/jersey/internal/inject/Binder;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binder;)V
         5: .line 82
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object instance
        end local 2 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        end local 1 // org.glassfish.jersey.model.ContractProvider model
        end local 0 // java.lang.Class providerClass
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0     providerClass  Ljava/lang/Class<TT;>;
            0    6     1             model  Lorg/glassfish/jersey/model/ContractProvider;
            0    6     2  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            1    6     3          instance  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/glassfish/jersey/model/ContractProvider;Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
    MethodParameters:
                  Name  Flags
      providerClass     
      model             
      injectionManager  

  private static <T> org.glassfish.jersey.internal.inject.Binder createInstanceBinder(T, org.glassfish.jersey.model.ContractProvider);
    descriptor: (Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)Lorg/glassfish/jersey/internal/inject/Binder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Object instance
        start local 1 // org.glassfish.jersey.model.ContractProvider model
         0: .line 86
            new org.glassfish.jersey.internal.inject.ProviderBinder$1
            dup
            aload 0 /* instance */
            aload 1 /* model */
            invokespecial org.glassfish.jersey.internal.inject.ProviderBinder$1.<init>:(Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)V
            areturn
        end local 1 // org.glassfish.jersey.model.ContractProvider model
        end local 0 // java.lang.Object instance
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  instance  TT;
            0    1     1     model  Lorg/glassfish/jersey/model/ContractProvider;
    Signature: <T:Ljava/lang/Object;>(TT;Lorg/glassfish/jersey/model/ContractProvider;)Lorg/glassfish/jersey/internal/inject/Binder;
    MethodParameters:
          Name  Flags
      instance  
      model     

  private static org.glassfish.jersey.internal.inject.Binder createClassBinder(org.glassfish.jersey.model.ContractProvider);
    descriptor: (Lorg/glassfish/jersey/model/ContractProvider;)Lorg/glassfish/jersey/internal/inject/Binder;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.glassfish.jersey.model.ContractProvider model
         0: .line 106
            new org.glassfish.jersey.internal.inject.ProviderBinder$2
            dup
            aload 0 /* model */
            invokespecial org.glassfish.jersey.internal.inject.ProviderBinder$2.<init>:(Lorg/glassfish/jersey/model/ContractProvider;)V
            areturn
        end local 0 // org.glassfish.jersey.model.ContractProvider model
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  model  Lorg/glassfish/jersey/model/ContractProvider;
    MethodParameters:
       Name  Flags
      model  

  private static java.util.Collection<org.glassfish.jersey.internal.inject.Binder> createProviderBinders(java.lang.Class<?>, org.glassfish.jersey.model.ContractProvider);
    descriptor: (Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Class providerClass
        start local 1 // org.glassfish.jersey.model.ContractProvider model
         0: .line 126
            aload 0 /* providerClass */
            aload 1 /* model */
            invokedynamic apply(Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/glassfish/jersey/internal/inject/ProviderBinder.lambda$0(Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder; (6)
                  (Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
            astore 2 /* binderFunction */
        start local 2 // java.util.function.Function binderFunction
         1: .line 143
            aload 1 /* model */
            invokevirtual org.glassfish.jersey.model.ContractProvider.getContracts:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         2: .line 144
            aload 2 /* binderFunction */
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 145
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
         4: .line 143
            areturn
        end local 2 // java.util.function.Function binderFunction
        end local 1 // org.glassfish.jersey.model.ContractProvider model
        end local 0 // java.lang.Class providerClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0   providerClass  Ljava/lang/Class<*>;
            0    5     1           model  Lorg/glassfish/jersey/model/ContractProvider;
            1    5     2  binderFunction  Ljava/util/function/Function<Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/Binder;>;
    Signature: (Ljava/lang/Class<*>;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/Binder;>;
    MethodParameters:
               Name  Flags
      providerClass  
      model          

  public static void bindProvider(java.lang.Object, org.glassfish.jersey.model.ContractProvider, org.glassfish.jersey.internal.inject.InjectionManager);
    descriptor: (Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.Object providerInstance
        start local 1 // org.glassfish.jersey.model.ContractProvider model
        start local 2 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
         0: .line 158
            aload 2 /* injectionManager */
            aload 0 /* providerInstance */
            aload 1 /* model */
            invokestatic org.glassfish.jersey.internal.inject.ProviderBinder.createInstanceBinder:(Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)Lorg/glassfish/jersey/internal/inject/Binder;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binder;)V
         1: .line 159
            return
        end local 2 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        end local 1 // org.glassfish.jersey.model.ContractProvider model
        end local 0 // java.lang.Object providerInstance
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0  providerInstance  Ljava/lang/Object;
            0    2     1             model  Lorg/glassfish/jersey/model/ContractProvider;
            0    2     2  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
    MethodParameters:
                  Name  Flags
      providerInstance  
      model             
      injectionManager  

  private static java.util.Collection<org.glassfish.jersey.internal.inject.Binder> createProviderBinders(, org.glassfish.jersey.model.ContractProvider);
    descriptor: (Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Object providerInstance
        start local 1 // org.glassfish.jersey.model.ContractProvider model
         0: .line 163
            aload 0 /* providerInstance */
            aload 1 /* model */
            invokedynamic apply(Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/glassfish/jersey/internal/inject/ProviderBinder.lambda$1(Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder; (6)
                  (Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
            astore 2 /* binderFunction */
        start local 2 // java.util.function.Function binderFunction
         1: .line 179
            aload 1 /* model */
            invokevirtual org.glassfish.jersey.model.ContractProvider.getContracts:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         2: .line 180
            aload 2 /* binderFunction */
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 181
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
         4: .line 179
            areturn
        end local 2 // java.util.function.Function binderFunction
        end local 1 // org.glassfish.jersey.model.ContractProvider model
        end local 0 // java.lang.Object providerInstance
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0  providerInstance  Ljava/lang/Object;
            0    5     1             model  Lorg/glassfish/jersey/model/ContractProvider;
            1    5     2    binderFunction  Ljava/util/function/Function<Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/Binder;>;
    Signature: (Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/Binder;>;
    MethodParameters:
                  Name  Flags
      providerInstance  
      model             

  public static void bindProviders(org.glassfish.jersey.model.internal.ComponentBag, org.glassfish.jersey.internal.inject.InjectionManager);
    descriptor: (Lorg/glassfish/jersey/model/internal/ComponentBag;Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.model.internal.ComponentBag componentBag
        start local 1 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
         0: .line 192
            aload 0 /* componentBag */
            aconst_null
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            aload 1 /* injectionManager */
            invokestatic org.glassfish.jersey.internal.inject.ProviderBinder.bindProviders:(Lorg/glassfish/jersey/model/internal/ComponentBag;Ljavax/ws/rs/RuntimeType;Ljava/util/Set;Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
         1: .line 193
            return
        end local 1 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        end local 0 // org.glassfish.jersey.model.internal.ComponentBag componentBag
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0      componentBag  Lorg/glassfish/jersey/model/internal/ComponentBag;
            0    2     1  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
    MethodParameters:
                  Name  Flags
      componentBag      final
      injectionManager  final

  public static void bindProviders(org.glassfish.jersey.model.internal.ComponentBag, javax.ws.rs.RuntimeType, java.util.Set<java.lang.Class<?>>, org.glassfish.jersey.internal.inject.InjectionManager);
    descriptor: (Lorg/glassfish/jersey/model/internal/ComponentBag;Ljavax/ws/rs/RuntimeType;Ljava/util/Set;Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // org.glassfish.jersey.model.internal.ComponentBag componentBag
        start local 1 // javax.ws.rs.RuntimeType constrainedTo
        start local 2 // java.util.Set registeredClasses
        start local 3 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
         0: .line 208
            getstatic org.glassfish.jersey.model.internal.ComponentBag.EXCLUDE_EMPTY:Ljava/util/function/Predicate;
         1: .line 209
            aload 3 /* injectionManager */
            invokestatic org.glassfish.jersey.model.internal.ComponentBag.excludeMetaProviders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;)Ljava/util/function/Predicate;
            invokeinterface java.util.function.Predicate.and:(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
         2: .line 208
            astore 4 /* filter */
        start local 4 // java.util.function.Predicate filter
         3: .line 215
            aload 0 /* componentBag */
            aload 1 /* constrainedTo */
            aload 2 /* registeredClasses */
            invokedynamic test(Lorg/glassfish/jersey/model/internal/ComponentBag;Ljavax/ws/rs/RuntimeType;Ljava/util/Set;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/glassfish/jersey/internal/inject/ProviderBinder.lambda$2(Lorg/glassfish/jersey/model/internal/ComponentBag;Ljavax/ws/rs/RuntimeType;Ljava/util/Set;Ljava/lang/Class;)Z (6)
                  (Ljava/lang/Class;)Z
         4: .line 214
            astore 5 /* correctlyConfigured */
        start local 5 // java.util.function.Predicate correctlyConfigured
         5: .line 226
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* binderToRegister */
        start local 6 // java.util.Collection binderToRegister
         6: .line 229
            new java.util.LinkedHashSet
            dup
            aload 0 /* componentBag */
            aload 4 /* filter */
            invokevirtual org.glassfish.jersey.model.internal.ComponentBag.getClasses:(Ljava/util/function/Predicate;)Ljava/util/Set;
            invokespecial java.util.LinkedHashSet.<init>:(Ljava/util/Collection;)V
            astore 7 /* classes */
        start local 7 // java.util.Set classes
         7: .line 230
            aload 1 /* constrainedTo */
            ifnull 12
         8: .line 231
            aload 7 /* classes */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         9: .line 232
            aload 5 /* correctlyConfigured */
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        10: .line 233
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
        11: .line 231
            astore 7 /* classes */
        12: .line 235
      StackMap locals: org.glassfish.jersey.model.internal.ComponentBag javax.ws.rs.RuntimeType java.util.Set org.glassfish.jersey.internal.inject.InjectionManager java.util.function.Predicate java.util.function.Predicate java.util.Collection java.util.Set
      StackMap stack:
            aload 7 /* classes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 16
      StackMap locals: org.glassfish.jersey.model.internal.ComponentBag javax.ws.rs.RuntimeType java.util.Set org.glassfish.jersey.internal.inject.InjectionManager java.util.function.Predicate java.util.function.Predicate java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
        13: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 8 /* providerClass */
        start local 8 // java.lang.Class providerClass
        14: .line 236
            aload 0 /* componentBag */
            aload 8 /* providerClass */
            invokevirtual org.glassfish.jersey.model.internal.ComponentBag.getModel:(Ljava/lang/Class;)Lorg/glassfish/jersey/model/ContractProvider;
            astore 10 /* model */
        start local 10 // org.glassfish.jersey.model.ContractProvider model
        15: .line 237
            aload 6 /* binderToRegister */
            aload 8 /* providerClass */
            aload 10 /* model */
            invokestatic org.glassfish.jersey.internal.inject.ProviderBinder.createProviderBinders:(Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 10 // org.glassfish.jersey.model.ContractProvider model
        end local 8 // java.lang.Class providerClass
        16: .line 235
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        17: .line 241
            aload 0 /* componentBag */
            aload 4 /* filter */
            invokevirtual org.glassfish.jersey.model.internal.ComponentBag.getInstances:(Ljava/util/function/Predicate;)Ljava/util/Set;
            astore 8 /* instances */
        start local 8 // java.util.Set instances
        18: .line 242
            aload 1 /* constrainedTo */
            ifnull 23
        19: .line 243
            aload 8 /* instances */
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
        20: .line 244
            aload 5 /* correctlyConfigured */
            invokedynamic test(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/glassfish/jersey/internal/inject/ProviderBinder.lambda$3(Ljava/util/function/Predicate;Ljava/lang/Object;)Z (6)
                  (Ljava/lang/Object;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        21: .line 245
            invokestatic java.util.stream.Collectors.toSet:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
        22: .line 243
            astore 8 /* instances */
        23: .line 247
      StackMap locals: org.glassfish.jersey.model.internal.ComponentBag javax.ws.rs.RuntimeType java.util.Set org.glassfish.jersey.internal.inject.InjectionManager java.util.function.Predicate java.util.function.Predicate java.util.Collection java.util.Set java.util.Set
      StackMap stack:
            aload 8 /* instances */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 27
      StackMap locals: org.glassfish.jersey.model.internal.ComponentBag javax.ws.rs.RuntimeType java.util.Set org.glassfish.jersey.internal.inject.InjectionManager java.util.function.Predicate java.util.function.Predicate java.util.Collection java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
        24: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 9 /* provider */
        start local 9 // java.lang.Object provider
        25: .line 248
            aload 0 /* componentBag */
            aload 9 /* provider */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual org.glassfish.jersey.model.internal.ComponentBag.getModel:(Ljava/lang/Class;)Lorg/glassfish/jersey/model/ContractProvider;
            astore 11 /* model */
        start local 11 // org.glassfish.jersey.model.ContractProvider model
        26: .line 249
            aload 6 /* binderToRegister */
            aload 9 /* provider */
            aload 11 /* model */
            invokestatic org.glassfish.jersey.internal.inject.ProviderBinder.createProviderBinders:(Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;)Ljava/util/Collection;
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 11 // org.glassfish.jersey.model.ContractProvider model
        end local 9 // java.lang.Object provider
        27: .line 247
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        28: .line 252
            aload 3 /* injectionManager */
            aload 6 /* binderToRegister */
            invokestatic org.glassfish.jersey.internal.inject.CompositeBinder.wrap:(Ljava/util/Collection;)Lorg/glassfish/jersey/internal/inject/AbstractBinder;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binder;)V
        29: .line 253
            return
        end local 8 // java.util.Set instances
        end local 7 // java.util.Set classes
        end local 6 // java.util.Collection binderToRegister
        end local 5 // java.util.function.Predicate correctlyConfigured
        end local 4 // java.util.function.Predicate filter
        end local 3 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        end local 2 // java.util.Set registeredClasses
        end local 1 // javax.ws.rs.RuntimeType constrainedTo
        end local 0 // org.glassfish.jersey.model.internal.ComponentBag componentBag
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   30     0         componentBag  Lorg/glassfish/jersey/model/internal/ComponentBag;
            0   30     1        constrainedTo  Ljavax/ws/rs/RuntimeType;
            0   30     2    registeredClasses  Ljava/util/Set<Ljava/lang/Class<*>;>;
            0   30     3     injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            3   30     4               filter  Ljava/util/function/Predicate<Lorg/glassfish/jersey/model/ContractProvider;>;
            5   30     5  correctlyConfigured  Ljava/util/function/Predicate<Ljava/lang/Class<*>;>;
            6   30     6     binderToRegister  Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/Binder;>;
            7   30     7              classes  Ljava/util/Set<Ljava/lang/Class<*>;>;
           14   16     8        providerClass  Ljava/lang/Class<*>;
           15   16    10                model  Lorg/glassfish/jersey/model/ContractProvider;
           18   30     8            instances  Ljava/util/Set<Ljava/lang/Object;>;
           25   27     9             provider  Ljava/lang/Object;
           26   27    11                model  Lorg/glassfish/jersey/model/ContractProvider;
    Signature: (Lorg/glassfish/jersey/model/internal/ComponentBag;Ljavax/ws/rs/RuntimeType;Ljava/util/Set<Ljava/lang/Class<*>;>;Lorg/glassfish/jersey/internal/inject/InjectionManager;)V
    MethodParameters:
                   Name  Flags
      componentBag       
      constrainedTo      
      registeredClasses  
      injectionManager   

  private static <T> java.util.Collection<org.glassfish.jersey.internal.inject.Binder> createInstanceBinders(T);
    descriptor: (Ljava/lang/Object;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object instance
         0: .line 257
            aload 0 /* instance */
            invokedynamic apply(Ljava/lang/Object;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/glassfish/jersey/internal/inject/ProviderBinder.lambda$4(Ljava/lang/Object;Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder; (6)
                  (Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
            astore 1 /* binderFunction */
        start local 1 // java.util.function.Function binderFunction
         1: .line 265
            aload 0 /* instance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.glassfish.jersey.internal.inject.Providers.getProviderContracts:(Ljava/lang/Class;)Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         2: .line 266
            aload 1 /* binderFunction */
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 267
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Collection
         4: .line 265
            areturn
        end local 1 // java.util.function.Function binderFunction
        end local 0 // java.lang.Object instance
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0        instance  TT;
            1    5     1  binderFunction  Ljava/util/function/Function<Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/Binder;>;
    Signature: <T:Ljava/lang/Object;>(TT;)Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/Binder;>;
    MethodParameters:
          Name  Flags
      instance  

  public void bindInstances(java.lang.Iterable<java.lang.Object>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.lang.Iterable instances
         0: .line 277
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* instancesList */
        start local 2 // java.util.List instancesList
         1: .line 278
            aload 1 /* instances */
            aload 2 /* instancesList */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/Object;)V
            invokeinterface java.lang.Iterable.forEach:(Ljava/util/function/Consumer;)V
         2: .line 279
            aload 0 /* this */
            aload 2 /* instancesList */
            invokevirtual org.glassfish.jersey.internal.inject.ProviderBinder.bindInstances:(Ljava/util/Collection;)V
         3: .line 280
            return
        end local 2 // java.util.List instancesList
        end local 1 // java.lang.Iterable instances
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    4     1      instances  Ljava/lang/Iterable<Ljava/lang/Object;>;
            1    4     2  instancesList  Ljava/util/List<Ljava/lang/Object;>;
    Signature: (Ljava/lang/Iterable<Ljava/lang/Object;>;)V
    MethodParameters:
           Name  Flags
      instances  final

  public void bindInstances(java.util.Collection<java.lang.Object>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.util.Collection instances
         0: .line 289
            aload 1 /* instances */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 290
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/glassfish/jersey/internal/inject/ProviderBinder.createInstanceBinders(Ljava/lang/Object;)Ljava/util/Collection; (6)
                  (Ljava/lang/Object;)Ljava/util/Collection;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 291
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  java/util/Collection.stream()Ljava/util/stream/Stream; (9 itf)
                  (Ljava/util/Collection;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 292
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         4: .line 289
            astore 2 /* binders */
        start local 2 // java.util.List binders
         5: .line 294
            aload 0 /* this */
            getfield org.glassfish.jersey.internal.inject.ProviderBinder.injectionManager:Lorg/glassfish/jersey/internal/inject/InjectionManager;
            aload 2 /* binders */
            invokestatic org.glassfish.jersey.internal.inject.CompositeBinder.wrap:(Ljava/util/Collection;)Lorg/glassfish/jersey/internal/inject/AbstractBinder;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binder;)V
         6: .line 295
            return
        end local 2 // java.util.List binders
        end local 1 // java.util.Collection instances
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    7     1  instances  Ljava/util/Collection<Ljava/lang/Object;>;
            5    7     2    binders  Ljava/util/List<Lorg/glassfish/jersey/internal/inject/Binder;>;
    Signature: (Ljava/util/Collection<Ljava/lang/Object;>;)V
    MethodParameters:
           Name  Flags
      instances  final

  public void bindClasses(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.lang.Class[] classes
         0: .line 304
            aload 0 /* this */
            aload 1 /* classes */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            iconst_0
            invokevirtual org.glassfish.jersey.internal.inject.ProviderBinder.bindClasses:(Ljava/util/Collection;Z)V
         1: .line 305
            return
        end local 1 // java.lang.Class[] classes
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    2     1  classes  [Ljava/lang/Class;
    Signature: ([Ljava/lang/Class<*>;)V
    MethodParameters:
         Name  Flags
      classes  final

  public void bindClasses(java.lang.Iterable<java.lang.Class<?>>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.lang.Iterable classes
         0: .line 314
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* classesList */
        start local 2 // java.util.List classesList
         1: .line 315
            aload 1 /* classes */
            aload 2 /* classesList */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/util/List;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/util/List.add(Ljava/lang/Object;)Z (9 itf)
                  (Ljava/lang/Class;)V
            invokeinterface java.lang.Iterable.forEach:(Ljava/util/function/Consumer;)V
         2: .line 316
            aload 0 /* this */
            aload 2 /* classesList */
            iconst_0
            invokevirtual org.glassfish.jersey.internal.inject.ProviderBinder.bindClasses:(Ljava/util/Collection;Z)V
         3: .line 317
            return
        end local 2 // java.util.List classesList
        end local 1 // java.lang.Iterable classes
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    4     1      classes  Ljava/lang/Iterable<Ljava/lang/Class<*>;>;
            1    4     2  classesList  Ljava/util/List<Ljava/lang/Class<*>;>;
    Signature: (Ljava/lang/Iterable<Ljava/lang/Class<*>;>;)V
    MethodParameters:
         Name  Flags
      classes  final

  public void bindClasses(java.util.Collection<java.lang.Class<?>>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.util.Collection classes
         0: .line 326
            aload 0 /* this */
            aload 1 /* classes */
            iconst_0
            invokevirtual org.glassfish.jersey.internal.inject.ProviderBinder.bindClasses:(Ljava/util/Collection;Z)V
         1: .line 327
            return
        end local 1 // java.util.Collection classes
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    2     1  classes  Ljava/util/Collection<Ljava/lang/Class<*>;>;
    Signature: (Ljava/util/Collection<Ljava/lang/Class<*>;>;)V
    MethodParameters:
         Name  Flags
      classes  final

  public void bindClasses(java.util.Collection<java.lang.Class<?>>, );
    descriptor: (Ljava/util/Collection;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.util.Collection classes
        start local 2 // boolean bindResources
         0: .line 344
            aload 1 /* classes */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 345
            aload 0 /* this */
            iload 2 /* bindResources */
            invokedynamic apply(Lorg/glassfish/jersey/internal/inject/ProviderBinder;Z)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/glassfish/jersey/internal/inject/ProviderBinder.lambda$9(ZLjava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder; (7)
                  (Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 346
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         3: .line 344
            astore 3 /* binders */
        start local 3 // java.util.List binders
         4: .line 348
            aload 0 /* this */
            getfield org.glassfish.jersey.internal.inject.ProviderBinder.injectionManager:Lorg/glassfish/jersey/internal/inject/InjectionManager;
            aload 3 /* binders */
            invokestatic org.glassfish.jersey.internal.inject.CompositeBinder.wrap:(Ljava/util/Collection;)Lorg/glassfish/jersey/internal/inject/AbstractBinder;
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.register:(Lorg/glassfish/jersey/internal/inject/Binder;)V
         5: .line 349
            return
        end local 3 // java.util.List binders
        end local 2 // boolean bindResources
        end local 1 // java.util.Collection classes
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    6     1        classes  Ljava/util/Collection<Ljava/lang/Class<*>;>;
            0    6     2  bindResources  Z
            4    6     3        binders  Ljava/util/List<Lorg/glassfish/jersey/internal/inject/Binder;>;
    Signature: (Ljava/util/Collection<Ljava/lang/Class<*>;>;Z)V
    MethodParameters:
               Name  Flags
      classes        
      bindResources  

  private <T> org.glassfish.jersey.internal.inject.Binder createClassBinders(java.lang.Class<T>, boolean);
    descriptor: (Ljava/lang/Class;Z)Lorg/glassfish/jersey/internal/inject/Binder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.lang.Class clazz
        start local 2 // boolean isResource
         0: .line 353
            aload 0 /* this */
            aload 1 /* clazz */
            invokevirtual org.glassfish.jersey.internal.inject.ProviderBinder.getProviderScope:(Ljava/lang/Class;)Ljava/lang/Class;
            astore 3 /* scope */
        start local 3 // java.lang.Class scope
         1: .line 355
            iload 2 /* isResource */
            ifeq 3
         2: .line 356
            new org.glassfish.jersey.internal.inject.ProviderBinder$6
            dup
            aload 0 /* this */
            aload 1 /* clazz */
            aload 3 /* scope */
            invokespecial org.glassfish.jersey.internal.inject.ProviderBinder$6.<init>:(Lorg/glassfish/jersey/internal/inject/ProviderBinder;Ljava/lang/Class;Ljava/lang/Class;)V
            areturn
         3: .line 369
      StackMap locals: java.lang.Class
      StackMap stack:
            new org.glassfish.jersey.internal.inject.ProviderBinder$7
            dup
            aload 0 /* this */
            aload 1 /* clazz */
            aload 3 /* scope */
            invokespecial org.glassfish.jersey.internal.inject.ProviderBinder$7.<init>:(Lorg/glassfish/jersey/internal/inject/ProviderBinder;Ljava/lang/Class;Ljava/lang/Class;)V
            areturn
        end local 3 // java.lang.Class scope
        end local 2 // boolean isResource
        end local 1 // java.lang.Class clazz
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    4     1       clazz  Ljava/lang/Class<TT;>;
            0    4     2  isResource  Z
            1    4     3       scope  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Z)Lorg/glassfish/jersey/internal/inject/Binder;
    MethodParameters:
            Name  Flags
      clazz       
      isResource  

  private java.lang.Class<? extends java.lang.annotation.Annotation> getProviderScope(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 1 // java.lang.Class clazz
         0: .line 380
            ldc Ljavax/inject/Singleton;
            astore 2 /* scope */
        start local 2 // java.lang.Class scope
         1: .line 381
            aload 1 /* clazz */
            ldc Lorg/glassfish/jersey/internal/inject/PerLookup;
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifeq 3
         2: .line 382
            ldc Lorg/glassfish/jersey/internal/inject/PerLookup;
            astore 2 /* scope */
         3: .line 384
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* scope */
            areturn
        end local 2 // java.lang.Class scope
        end local 1 // java.lang.Class clazz
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    4     1  clazz  Ljava/lang/Class<*>;
            1    4     2  scope  Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Class<+Ljava/lang/annotation/Annotation;>;
    MethodParameters:
       Name  Flags
      clazz  final

  private static org.glassfish.jersey.internal.inject.Binder lambda$0(java.lang.Class, org.glassfish.jersey.model.ContractProvider, java.lang.Class);
    descriptor: (Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 2 // java.lang.Class contract
         0: .line 126
            new org.glassfish.jersey.internal.inject.ProviderBinder$3
            dup
            aload 0
            aload 1
            aload 2 /* contract */
            invokespecial org.glassfish.jersey.internal.inject.ProviderBinder$3.<init>:(Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;Ljava/lang/Class;)V
         1: .line 140
            areturn
        end local 2 // java.lang.Class contract
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     2  contract  Ljava/lang/Class;

  private static org.glassfish.jersey.internal.inject.Binder lambda$1(java.lang.Object, org.glassfish.jersey.model.ContractProvider, java.lang.Class);
    descriptor: (Ljava/lang/Object;Lorg/glassfish/jersey/model/ContractProvider;Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 2 // java.lang.Class contract
         0: .line 163
            new org.glassfish.jersey.internal.inject.ProviderBinder$4
            dup
            aload 0
            aload 2 /* contract */
            aload 1
            invokespecial org.glassfish.jersey.internal.inject.ProviderBinder$4.<init>:(Ljava/lang/Object;Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;)V
         1: .line 176
            areturn
        end local 2 // java.lang.Class contract
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     2  contract  Ljava/lang/Class;

  private static boolean lambda$2(org.glassfish.jersey.model.internal.ComponentBag, javax.ws.rs.RuntimeType, java.util.Set, java.lang.Class);
    descriptor: (Lorg/glassfish/jersey/model/internal/ComponentBag;Ljavax/ws/rs/RuntimeType;Ljava/util/Set;Ljava/lang/Class;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 3 // java.lang.Class componentClass
         0: .line 216
            aload 3 /* componentClass */
         1: .line 217
            aload 0
            aload 3 /* componentClass */
            invokevirtual org.glassfish.jersey.model.internal.ComponentBag.getModel:(Ljava/lang/Class;)Lorg/glassfish/jersey/model/ContractProvider;
         2: .line 218
            aload 1
         3: .line 219
            aload 2
            ifnull 4
            aload 2
            aload 3 /* componentClass */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: org.glassfish.jersey.model.internal.ComponentBag javax.ws.rs.RuntimeType java.util.Set java.lang.Class
      StackMap stack: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType
         4: iconst_1
         5: .line 220
      StackMap locals: org.glassfish.jersey.model.internal.ComponentBag javax.ws.rs.RuntimeType java.util.Set java.lang.Class
      StackMap stack: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int
            iconst_0
         6: .line 215
            invokestatic org.glassfish.jersey.internal.inject.Providers.checkProviderRuntime:(Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;Ljavax/ws/rs/RuntimeType;ZZ)Z
         7: .line 220
            ireturn
        end local 3 // java.lang.Class componentClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     3  componentClass  Ljava/lang/Class<*>;

  private static boolean lambda$3(java.util.function.Predicate, java.lang.Object);
    descriptor: (Ljava/util/function/Predicate;Ljava/lang/Object;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.Object component
         0: .line 244
            aload 0
            aload 1 /* component */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object component
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     1  component  Ljava/lang/Object;

  private static org.glassfish.jersey.internal.inject.Binder lambda$4(java.lang.Object, java.lang.Class);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 1 // java.lang.Class contract
         0: .line 258
            new org.glassfish.jersey.internal.inject.ProviderBinder$5
            dup
            aload 0
            aload 1 /* contract */
            invokespecial org.glassfish.jersey.internal.inject.ProviderBinder$5.<init>:(Ljava/lang/Object;Ljava/lang/Class;)V
         1: .line 263
            areturn
        end local 1 // java.lang.Class contract
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     1  contract  Ljava/lang/Class;

  private org.glassfish.jersey.internal.inject.Binder lambda$9(boolean, java.lang.Class);
    descriptor: (ZLjava/lang/Class;)Lorg/glassfish/jersey/internal/inject/Binder;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
        start local 2 // java.lang.Class clazz
         0: .line 345
            aload 0 /* this */
            aload 2 /* clazz */
            iload 1
            invokevirtual org.glassfish.jersey.internal.inject.ProviderBinder.createClassBinders:(Ljava/lang/Class;Z)Lorg/glassfish/jersey/internal/inject/Binder;
            areturn
        end local 2 // java.lang.Class clazz
        end local 0 // org.glassfish.jersey.internal.inject.ProviderBinder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/glassfish/jersey/internal/inject/ProviderBinder;
            0    1     2  clazz  Ljava/lang/Class<*>;
}
SourceFile: "ProviderBinder.java"
NestMembers:
  org.glassfish.jersey.internal.inject.ProviderBinder$1  org.glassfish.jersey.internal.inject.ProviderBinder$2  org.glassfish.jersey.internal.inject.ProviderBinder$3  org.glassfish.jersey.internal.inject.ProviderBinder$4  org.glassfish.jersey.internal.inject.ProviderBinder$5  org.glassfish.jersey.internal.inject.ProviderBinder$6  org.glassfish.jersey.internal.inject.ProviderBinder$7
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.glassfish.jersey.internal.inject.ProviderBinder$1
  org.glassfish.jersey.internal.inject.ProviderBinder$2
  org.glassfish.jersey.internal.inject.ProviderBinder$3
  org.glassfish.jersey.internal.inject.ProviderBinder$4
  org.glassfish.jersey.internal.inject.ProviderBinder$5
  org.glassfish.jersey.internal.inject.ProviderBinder$6
  org.glassfish.jersey.internal.inject.ProviderBinder$7