public final class org.glassfish.jersey.internal.inject.Providers
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.glassfish.jersey.internal.inject.Providers
  super_class: java.lang.Object
{
  private static final java.util.logging.Logger LOGGER;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.Class<?>, org.glassfish.jersey.internal.inject.Providers$ProviderRuntime> JAX_RS_PROVIDER_INTERFACE_WHITELIST;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;>;

  private static final java.util.Map<java.lang.Class<?>, org.glassfish.jersey.internal.inject.Providers$ProviderRuntime> EXTERNAL_PROVIDER_INTERFACE_WHITELIST;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Class<*>;Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 60
            ldc Lorg/glassfish/jersey/internal/inject/Providers;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic org.glassfish.jersey.internal.inject.Providers.LOGGER:Ljava/util/logging/Logger;
         1: .line 66
            invokestatic org.glassfish.jersey.internal.inject.Providers.getJaxRsProviderInterfaces:()Ljava/util/Map;
         2: .line 65
            putstatic org.glassfish.jersey.internal.inject.Providers.JAX_RS_PROVIDER_INTERFACE_WHITELIST:Ljava/util/Map;
         3: .line 71
            invokestatic org.glassfish.jersey.internal.inject.Providers.getExternalProviderInterfaces:()Ljava/util/Map;
         4: .line 70
            putstatic org.glassfish.jersey.internal.inject.Providers.EXTERNAL_PROVIDER_INTERFACE_WHITELIST:Ljava/util/Map;
         5: .line 71
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.jersey.internal.inject.Providers this
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 74
            return
        end local 0 // org.glassfish.jersey.internal.inject.Providers this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/glassfish/jersey/internal/inject/Providers;

  private static java.util.Map<java.lang.Class<?>, org.glassfish.jersey.internal.inject.Providers$ProviderRuntime> getJaxRsProviderInterfaces();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 77
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* interfaces */
        start local 0 // java.util.Map interfaces
         1: .line 79
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/ext/ContextResolver;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 80
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/ext/ExceptionMapper;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 81
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/ext/MessageBodyReader;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 82
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/ext/MessageBodyWriter;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 83
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/ext/ReaderInterceptor;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 84
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/ext/WriterInterceptor;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 85
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/ext/ParamConverterProvider;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 87
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/container/ContainerRequestFilter;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.SERVER:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 88
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/container/ContainerResponseFilter;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.SERVER:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 89
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/container/DynamicFeature;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.SERVER:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 91
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/client/ClientResponseFilter;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.CLIENT:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 92
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/client/ClientRequestFilter;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.CLIENT:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 93
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/client/RxInvokerProvider;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.CLIENT:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 95
            aload 0 /* interfaces */
            areturn
        end local 0 // java.util.Map interfaces
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   15     0  interfaces  Ljava/util/Map<Ljava/lang/Class<*>;Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;>;
    Signature: ()Ljava/util/Map<Ljava/lang/Class<*>;Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;>;

  private static java.util.Map<java.lang.Class<?>, org.glassfish.jersey.internal.inject.Providers$ProviderRuntime> getExternalProviderInterfaces();
    descriptor: ()Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 99
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 0 /* interfaces */
        start local 0 // java.util.Map interfaces
         1: .line 102
            aload 0 /* interfaces */
            getstatic org.glassfish.jersey.internal.inject.Providers.JAX_RS_PROVIDER_INTERFACE_WHITELIST:Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         2: .line 103
            aload 0 /* interfaces */
            ldc Ljavax/ws/rs/core/Feature;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 104
            aload 0 /* interfaces */
            ldc Lorg/glassfish/jersey/internal/inject/Binder;
            getstatic org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.BOTH:Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 105
            aload 0 /* interfaces */
            areturn
        end local 0 // java.util.Map interfaces
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    5     0  interfaces  Ljava/util/Map<Ljava/lang/Class<*>;Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;>;
    Signature: ()Ljava/util/Map<Ljava/lang/Class<*>;Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;>;

  public static <T> java.util.Set<T> getProviders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
         0: .line 133
            aload 0 /* injectionManager */
            aload 1 /* contract */
            iconst_0
            anewarray java.lang.annotation.Annotation
            invokestatic org.glassfish.jersey.internal.inject.Providers.getServiceHolders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            astore 2 /* providers */
        start local 2 // java.util.Collection providers
         1: .line 134
            aload 2 /* providers */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getProviderClasses:(Ljava/util/Collection;)Ljava/util/Set;
            areturn
        end local 2 // java.util.Collection providers
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    2     1          contract  Ljava/lang/Class<TT;>;
            1    2     2         providers  Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          

  public static <T> java.util.Set<T> getCustomProviders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
         0: .line 151
            aload 0 /* injectionManager */
         1: .line 152
            aload 1 /* contract */
         2: .line 153
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              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;)I
                  org/glassfish/jersey/internal/inject/Providers.getPriority(Ljava/lang/Class;)I (6)
                  (Ljava/lang/Class;)I
            invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
            iconst_1
            anewarray java.lang.annotation.Annotation
            dup
            iconst_0
         3: .line 154
            getstatic org.glassfish.jersey.internal.inject.CustomAnnotationLiteral.INSTANCE:Lorg/glassfish/jersey/internal/inject/Custom;
            aastore
         4: .line 151
            invokestatic org.glassfish.jersey.internal.inject.Providers.getServiceHolders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Ljava/util/Comparator;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            astore 2 /* providers */
        start local 2 // java.util.List providers
         5: .line 156
            aload 2 /* providers */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getProviderClasses:(Ljava/util/Collection;)Ljava/util/Set;
            areturn
        end local 2 // java.util.List providers
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    6     1          contract  Ljava/lang/Class<TT;>;
            5    6     2         providers  Ljava/util/List<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;)Ljava/util/Set<TT;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          

  public static <T> java.lang.Iterable<T> getAllProviders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
         0: .line 169
            aload 0 /* injectionManager */
            aload 1 /* contract */
            aconst_null
            invokestatic org.glassfish.jersey.internal.inject.Providers.getAllProviders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Ljava/util/Comparator;)Ljava/lang/Iterable;
            areturn
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    1     1          contract  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          

  public static <T> java.lang.Iterable<org.glassfish.jersey.model.internal.RankedProvider<T>> getAllRankedProviders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
         0: .line 182
            aload 0 /* injectionManager */
            aload 1 /* contract */
            iconst_1
            anewarray java.lang.annotation.Annotation
            dup
            iconst_0
            getstatic org.glassfish.jersey.internal.inject.CustomAnnotationLiteral.INSTANCE:Lorg/glassfish/jersey/internal/inject/Custom;
            aastore
            invokestatic org.glassfish.jersey.internal.inject.Providers.getServiceHolders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            astore 2 /* providers */
        start local 2 // java.util.List providers
         1: .line 183
            aload 2 /* providers */
            aload 0 /* injectionManager */
            aload 1 /* contract */
            iconst_0
            anewarray java.lang.annotation.Annotation
            invokestatic org.glassfish.jersey.internal.inject.Providers.getServiceHolders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 185
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* providerMap */
        start local 3 // java.util.LinkedHashMap providerMap
         3: .line 187
            aload 2 /* providers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: org.glassfish.jersey.internal.inject.InjectionManager java.lang.Class java.util.List java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.jersey.internal.inject.ServiceHolder
            astore 4 /* provider */
        start local 4 // org.glassfish.jersey.internal.inject.ServiceHolder provider
         5: .line 188
            aload 1 /* contract */
            aload 4 /* provider */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getImplementationClass:(Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Class;
            astore 6 /* implClass */
        start local 6 // java.lang.Class implClass
         6: .line 189
            aload 3 /* providerMap */
            aload 6 /* implClass */
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 11
         7: .line 190
            aload 1 /* contract */
            aload 4 /* provider */
            invokestatic org.glassfish.jersey.internal.inject.Providers.isProxyGenerated:(Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Z
            ifeq 8
            aload 4 /* provider */
            invokeinterface org.glassfish.jersey.internal.inject.ServiceHolder.getContractTypes:()Ljava/util/Set;
            goto 9
      StackMap locals: org.glassfish.jersey.internal.inject.InjectionManager java.lang.Class java.util.List java.util.LinkedHashMap org.glassfish.jersey.internal.inject.ServiceHolder java.util.Iterator java.lang.Class
      StackMap stack:
         8: aconst_null
      StackMap locals:
      StackMap stack: java.util.Set
         9: astore 7 /* contracts */
        start local 7 // java.util.Set contracts
        10: .line 191
            aload 3 /* providerMap */
            aload 6 /* implClass */
            new org.glassfish.jersey.model.internal.RankedProvider
            dup
            aload 4 /* provider */
            invokeinterface org.glassfish.jersey.internal.inject.ServiceHolder.getInstance:()Ljava/lang/Object;
            aload 4 /* provider */
            invokeinterface org.glassfish.jersey.internal.inject.ServiceHolder.getRank:()I
            aload 7 /* contracts */
            invokespecial org.glassfish.jersey.model.internal.RankedProvider.<init>:(Ljava/lang/Object;ILjava/util/Set;)V
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.Set contracts
        end local 6 // java.lang.Class implClass
        end local 4 // org.glassfish.jersey.internal.inject.ServiceHolder provider
        11: .line 187
      StackMap locals: org.glassfish.jersey.internal.inject.InjectionManager java.lang.Class java.util.List java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        12: .line 195
            aload 3 /* providerMap */
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            areturn
        end local 3 // java.util.LinkedHashMap providerMap
        end local 2 // java.util.List providers
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0   13     1          contract  Ljava/lang/Class<TT;>;
            1   13     2         providers  Ljava/util/List<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
            3   13     3       providerMap  Ljava/util/LinkedHashMap<Ljava/lang/Class<TT;>;Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;
            5   11     4          provider  Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;
            6   11     6         implClass  Ljava/lang/Class<TT;>;
           10   11     7         contracts  Ljava/util/Set<Ljava/lang/reflect/Type;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;)Ljava/lang/Iterable<Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          

  public static <T> java.lang.Iterable<T> sortRankedProviders(org.glassfish.jersey.model.internal.RankedComparator<T>, java.lang.Iterable<org.glassfish.jersey.model.internal.RankedProvider<T>>);
    descriptor: (Lorg/glassfish/jersey/model/internal/RankedComparator;Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.model.internal.RankedComparator comparator
        start local 1 // java.lang.Iterable providers
         0: .line 211
            aload 1 /* providers */
            invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         1: .line 212
            aload 0 /* comparator */
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
         2: .line 213
            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/model/internal/RankedProvider.getProvider()Ljava/lang/Object; (5)
                  (Lorg/glassfish/jersey/model/internal/RankedProvider;)Ljava/lang/Object;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 214
            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.lang.Iterable
         4: .line 211
            areturn
        end local 1 // java.lang.Iterable providers
        end local 0 // org.glassfish.jersey.model.internal.RankedComparator comparator
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  comparator  Lorg/glassfish/jersey/model/internal/RankedComparator<TT;>;
            0    5     1   providers  Ljava/lang/Iterable<Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/model/internal/RankedComparator<TT;>;Ljava/lang/Iterable<Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
            Name  Flags
      comparator  final
      providers   final

  public static <T> java.lang.Iterable<T> getAllRankedSortedProviders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
         0: .line 229
            aload 0 /* injectionManager */
            aload 1 /* contract */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getAllRankedProviders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/lang/Iterable;
            astore 2 /* allRankedProviders */
        start local 2 // java.lang.Iterable allRankedProviders
         1: .line 230
            new org.glassfish.jersey.model.internal.RankedComparator
            dup
            invokespecial org.glassfish.jersey.model.internal.RankedComparator.<init>:()V
            aload 2 /* allRankedProviders */
            invokestatic org.glassfish.jersey.internal.inject.Providers.sortRankedProviders:(Lorg/glassfish/jersey/model/internal/RankedComparator;Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 2 // java.lang.Iterable allRankedProviders
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0    injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    2     1            contract  Ljava/lang/Class<TT;>;
            1    2     2  allRankedProviders  Ljava/lang/Iterable<Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          

  public static <T> java.lang.Iterable<T> mergeAndSortRankedProviders(org.glassfish.jersey.model.internal.RankedComparator<T>, java.lang.Iterable<java.lang.Iterable<org.glassfish.jersey.model.internal.RankedProvider<T>>>);
    descriptor: (Lorg/glassfish/jersey/model/internal/RankedComparator;Ljava/lang/Iterable;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.model.internal.RankedComparator comparator
        start local 1 // java.lang.Iterable providerIterables
         0: .line 246
            aload 1 /* providerIterables */
            invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
         1: .line 247
            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/Providers.lambda$2(Ljava/lang/Iterable;)Ljava/util/stream/Stream; (6)
                  (Ljava/lang/Iterable;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 248
            aload 0 /* comparator */
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
         3: .line 249
            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/model/internal/RankedProvider.getProvider()Ljava/lang/Object; (5)
                  (Lorg/glassfish/jersey/model/internal/RankedProvider;)Ljava/lang/Object;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 250
            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.lang.Iterable
         5: .line 246
            areturn
        end local 1 // java.lang.Iterable providerIterables
        end local 0 // org.glassfish.jersey.model.internal.RankedComparator comparator
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0         comparator  Lorg/glassfish/jersey/model/internal/RankedComparator<TT;>;
            0    6     1  providerIterables  Ljava/lang/Iterable<Ljava/lang/Iterable<Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/model/internal/RankedComparator<TT;>;Ljava/lang/Iterable<Ljava/lang/Iterable<Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
                   Name  Flags
      comparator         final
      providerIterables  final

  public static <T> java.lang.Iterable<T> getAllProviders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>, org.glassfish.jersey.model.internal.RankedComparator<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Lorg/glassfish/jersey/model/internal/RankedComparator;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
        start local 2 // org.glassfish.jersey.model.internal.RankedComparator comparator
         0: .line 266
            aload 2 /* comparator */
            aload 0 /* injectionManager */
            aload 1 /* contract */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getAllRankedProviders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/lang/Iterable;
            invokestatic org.glassfish.jersey.internal.inject.Providers.sortRankedProviders:(Lorg/glassfish/jersey/model/internal/RankedComparator;Ljava/lang/Iterable;)Ljava/lang/Iterable;
            areturn
        end local 2 // org.glassfish.jersey.model.internal.RankedComparator comparator
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    1     1          contract  Ljava/lang/Class<TT;>;
            0    1     2        comparator  Lorg/glassfish/jersey/model/internal/RankedComparator<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;Lorg/glassfish/jersey/model/internal/RankedComparator<TT;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          
      comparator        

  public static <T> java.util.Collection<org.glassfish.jersey.internal.inject.ServiceHolder<T>> getAllServiceHolders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
         0: .line 279
            aload 0 /* injectionManager */
         1: .line 280
            aload 1 /* contract */
         2: .line 281
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              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;)I
                  org/glassfish/jersey/internal/inject/Providers.getPriority(Ljava/lang/Class;)I (6)
                  (Ljava/lang/Class;)I
            invokestatic java.util.Comparator.comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
            iconst_1
            anewarray java.lang.annotation.Annotation
            dup
            iconst_0
         3: .line 282
            getstatic org.glassfish.jersey.internal.inject.CustomAnnotationLiteral.INSTANCE:Lorg/glassfish/jersey/internal/inject/Custom;
            aastore
         4: .line 279
            invokestatic org.glassfish.jersey.internal.inject.Providers.getServiceHolders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Ljava/util/Comparator;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            astore 2 /* providers */
        start local 2 // java.util.List providers
         5: .line 283
            aload 2 /* providers */
            aload 0 /* injectionManager */
            aload 1 /* contract */
            iconst_0
            anewarray java.lang.annotation.Annotation
            invokestatic org.glassfish.jersey.internal.inject.Providers.getServiceHolders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 285
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 3 /* providerMap */
        start local 3 // java.util.LinkedHashMap providerMap
         7: .line 287
            aload 2 /* providers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.glassfish.jersey.internal.inject.InjectionManager java.lang.Class java.util.List java.util.LinkedHashMap top java.util.Iterator
      StackMap stack:
         8: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.jersey.internal.inject.ServiceHolder
            astore 4 /* provider */
        start local 4 // org.glassfish.jersey.internal.inject.ServiceHolder provider
         9: .line 288
            aload 1 /* contract */
            aload 4 /* provider */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getImplementationClass:(Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Class;
            astore 6 /* implClass */
        start local 6 // java.lang.Class implClass
        10: .line 289
            aload 3 /* providerMap */
            aload 6 /* implClass */
            invokevirtual java.util.LinkedHashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 290
            aload 3 /* providerMap */
            aload 6 /* implClass */
            aload 4 /* provider */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.Class implClass
        end local 4 // org.glassfish.jersey.internal.inject.ServiceHolder provider
        12: .line 287
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 294
            aload 3 /* providerMap */
            invokevirtual java.util.LinkedHashMap.values:()Ljava/util/Collection;
            areturn
        end local 3 // java.util.LinkedHashMap providerMap
        end local 2 // java.util.List providers
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0   14     1          contract  Ljava/lang/Class<TT;>;
            5   14     2         providers  Ljava/util/List<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
            7   14     3       providerMap  Ljava/util/LinkedHashMap<Ljava/lang/Class<TT;>;Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
            9   12     4          provider  Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;
           10   12     6         implClass  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;)Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          

  private static <T> java.util.List<org.glassfish.jersey.internal.inject.ServiceHolder<T>> getServiceHolders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>, java.lang.annotation.Annotation[]);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager bm
        start local 1 // java.lang.Class contract
        start local 2 // java.lang.annotation.Annotation[] qualifiers
         0: .line 299
            aload 0 /* bm */
            aload 1 /* contract */
            aload 2 /* qualifiers */
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.getAllServiceHolders:(Ljava/lang/Class;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            areturn
        end local 2 // java.lang.annotation.Annotation[] qualifiers
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager bm
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0          bm  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    1     1    contract  Ljava/lang/Class<TT;>;
            0    1     2  qualifiers  [Ljava/lang/annotation/Annotation;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;[Ljava/lang/annotation/Annotation;)Ljava/util/List<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
    MethodParameters:
            Name  Flags
      bm          
      contract    
      qualifiers  

  private static <T> java.util.List<org.glassfish.jersey.internal.inject.ServiceHolder<T>> getServiceHolders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>, java.util.Comparator<java.lang.Class<?>>, java.lang.annotation.Annotation[]);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Ljava/util/Comparator;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
        start local 2 // java.util.Comparator objectComparator
        start local 3 // java.lang.annotation.Annotation[] qualifiers
         0: .line 307
            aload 0 /* injectionManager */
            aload 1 /* contract */
            aload 3 /* qualifiers */
            invokeinterface org.glassfish.jersey.internal.inject.InjectionManager.getAllServiceHolders:(Ljava/lang/Class;[Ljava/lang/annotation/Annotation;)Ljava/util/List;
            astore 4 /* serviceHolders */
        start local 4 // java.util.List serviceHolders
         1: .line 308
            aload 4 /* serviceHolders */
            aload 2 /* objectComparator */
            aload 1 /* contract */
            invokedynamic compare(Ljava/util/Comparator;Ljava/lang/Class;)Ljava/util/Comparator;
              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;)I
                  org/glassfish/jersey/internal/inject/Providers.lambda$5(Ljava/util/Comparator;Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)I (6)
                  (Lorg/glassfish/jersey/internal/inject/ServiceHolder;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)I
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         2: .line 311
            aload 4 /* serviceHolders */
            areturn
        end local 4 // java.util.List serviceHolders
        end local 3 // java.lang.annotation.Annotation[] qualifiers
        end local 2 // java.util.Comparator objectComparator
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    3     1          contract  Ljava/lang/Class<TT;>;
            0    3     2  objectComparator  Ljava/util/Comparator<Ljava/lang/Class<*>;>;
            0    3     3        qualifiers  [Ljava/lang/annotation/Annotation;
            1    3     4    serviceHolders  Ljava/util/List<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;Ljava/util/Comparator<Ljava/lang/Class<*>;>;[Ljava/lang/annotation/Annotation;)Ljava/util/List<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          
      objectComparator  
      qualifiers        

  public static boolean isJaxRsProvider(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 321
            getstatic org.glassfish.jersey.internal.inject.Providers.JAX_RS_PROVIDER_INTERFACE_WHITELIST:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: java.lang.Class top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 1 /* providerType */
        start local 1 // java.lang.Class providerType
         2: .line 322
            aload 1 /* providerType */
            aload 0 /* clazz */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 323
            iconst_1
            ireturn
        end local 1 // java.lang.Class providerType
         4: .line 321
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 326
            iconst_0
            ireturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0         clazz  Ljava/lang/Class<*>;
            2    4     1  providerType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      clazz  final

  public static <T> java.lang.Iterable<T> getAllProviders(org.glassfish.jersey.internal.inject.InjectionManager, java.lang.Class<T>, java.util.Comparator<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;Ljava/util/Comparator;)Ljava/lang/Iterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
        start local 1 // java.lang.Class contract
        start local 2 // java.util.Comparator comparator
         0: .line 342
            new java.util.ArrayList
            dup
            aload 0 /* injectionManager */
            aload 1 /* contract */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getAllServiceHolders:(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class;)Ljava/util/Collection;
            invokestatic org.glassfish.jersey.internal.inject.Providers.getProviderClasses:(Ljava/util/Collection;)Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 3 /* providerList */
        start local 3 // java.util.List providerList
         1: .line 343
            aload 2 /* comparator */
            ifnull 3
         2: .line 344
            aload 3 /* providerList */
            aload 2 /* comparator */
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
         3: .line 346
      StackMap locals: java.util.List
      StackMap stack:
            aload 3 /* providerList */
            areturn
        end local 3 // java.util.List providerList
        end local 2 // java.util.Comparator comparator
        end local 1 // java.lang.Class contract
        end local 0 // org.glassfish.jersey.internal.inject.InjectionManager injectionManager
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0  injectionManager  Lorg/glassfish/jersey/internal/inject/InjectionManager;
            0    4     1          contract  Ljava/lang/Class<TT;>;
            0    4     2        comparator  Ljava/util/Comparator<TT;>;
            1    4     3      providerList  Ljava/util/List<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/InjectionManager;Ljava/lang/Class<TT;>;Ljava/util/Comparator<TT;>;)Ljava/lang/Iterable<TT;>;
    MethodParameters:
                  Name  Flags
      injectionManager  
      contract          
      comparator        

  private static <T> java.util.Set<T> getProviderClasses(java.util.Collection<org.glassfish.jersey.internal.inject.ServiceHolder<T>>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection providers
         0: .line 350
            aload 0 /* providers */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 351
            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/Providers.holder2service(Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Object; (6)
                  (Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Object;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 352
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  java/util/LinkedHashSet.<init>()V (8)
                  ()Ljava/util/LinkedHashSet;
            invokestatic java.util.stream.Collectors.toCollection:(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Set
         3: .line 350
            areturn
        end local 0 // java.util.Collection providers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  providers  Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;>;)Ljava/util/Set<TT;>;
    MethodParameters:
           Name  Flags
      providers  final

  private static <T> T holder2service(org.glassfish.jersey.internal.inject.ServiceHolder<T>);
    descriptor: (Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.glassfish.jersey.internal.inject.ServiceHolder holder
         0: .line 356
            aload 0 /* holder */
            ifnull 1
            aload 0 /* holder */
            invokeinterface org.glassfish.jersey.internal.inject.ServiceHolder.getInstance:()Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 0 // org.glassfish.jersey.internal.inject.ServiceHolder holder
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  holder  Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;)TT;
    MethodParameters:
        Name  Flags
      holder  

  private static int getPriority(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class serviceClass
         0: .line 360
            aload 0 /* serviceClass */
            ldc Ljavax/annotation/Priority;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.annotation.Priority
            astore 1 /* annotation */
        start local 1 // javax.annotation.Priority annotation
         1: .line 361
            aload 1 /* annotation */
            ifnull 3
         2: .line 362
            aload 1 /* annotation */
            invokeinterface javax.annotation.Priority.value:()I
            ireturn
         3: .line 366
      StackMap locals: javax.annotation.Priority
      StackMap stack:
            sipush 5000
            ireturn
        end local 1 // javax.annotation.Priority annotation
        end local 0 // java.lang.Class serviceClass
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0  serviceClass  Ljava/lang/Class<*>;
            1    4     1    annotation  Ljavax/annotation/Priority;
    Signature: (Ljava/lang/Class<*>;)I
    MethodParameters:
              Name  Flags
      serviceClass  

  private static <T> java.lang.Class<T> getImplementationClass(java.lang.Class<T>, org.glassfish.jersey.internal.inject.ServiceHolder<T>);
    descriptor: (Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class contract
        start local 1 // org.glassfish.jersey.internal.inject.ServiceHolder serviceHolder
         0: .line 370
            aload 0 /* contract */
            aload 1 /* serviceHolder */
            invokestatic org.glassfish.jersey.internal.inject.Providers.isProxyGenerated:(Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Z
            ifeq 3
         1: .line 371
            aload 1 /* serviceHolder */
            invokeinterface org.glassfish.jersey.internal.inject.ServiceHolder.getContractTypes:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            invokedynamic test()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/Providers.lambda$8(Ljava/lang/reflect/Type;)Z (6)
                  (Ljava/lang/reflect/Type;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 372
            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/Providers.lambda$9(Ljava/lang/reflect/Type;)Ljava/lang/Class; (6)
                  (Ljava/lang/reflect/Type;)Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 0 /* contract */
            invokedynamic apply()Ljava/util/function/BinaryOperator;
              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;)Ljava/lang/Object;
                  org/glassfish/jersey/internal/inject/Providers.lambda$10(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class; (6)
                  (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
            invokeinterface java.util.stream.Stream.reduce:(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
            checkcast java.lang.Class
            goto 4
         3: .line 373
      StackMap locals:
      StackMap stack:
            aload 1 /* serviceHolder */
            invokeinterface org.glassfish.jersey.internal.inject.ServiceHolder.getImplementationClass:()Ljava/lang/Class;
         4: .line 370
      StackMap locals:
      StackMap stack: java.lang.Class
            areturn
        end local 1 // org.glassfish.jersey.internal.inject.ServiceHolder serviceHolder
        end local 0 // java.lang.Class contract
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0       contract  Ljava/lang/Class<TT;>;
            0    5     1  serviceHolder  Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;)Ljava/lang/Class<TT;>;
    MethodParameters:
               Name  Flags
      contract       
      serviceHolder  

  private static <T> boolean isProxyGenerated(java.lang.Class<T>, org.glassfish.jersey.internal.inject.ServiceHolder<T>);
    descriptor: (Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class contract
        start local 1 // org.glassfish.jersey.internal.inject.ServiceHolder serviceHolder
         0: .line 377
            aload 0 /* contract */
            aload 1 /* serviceHolder */
            invokeinterface org.glassfish.jersey.internal.inject.ServiceHolder.getImplementationClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.glassfish.jersey.internal.inject.ServiceHolder serviceHolder
        end local 0 // java.lang.Class contract
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0       contract  Ljava/lang/Class<TT;>;
            0    3     1  serviceHolder  Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;)Z
    MethodParameters:
               Name  Flags
      contract       
      serviceHolder  

  public static java.util.Set<java.lang.Class<?>> getProviderContracts(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 389
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            astore 1 /* contracts */
        start local 1 // java.util.Set contracts
         1: .line 390
            aload 0 /* clazz */
            aload 1 /* contracts */
            invokestatic org.glassfish.jersey.internal.inject.Providers.computeProviderContracts:(Ljava/lang/Class;Ljava/util/Set;)V
         2: .line 391
            aload 1 /* contracts */
            areturn
        end local 1 // java.util.Set contracts
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      clazz  Ljava/lang/Class<*>;
            1    3     1  contracts  Ljava/util/Set<Ljava/lang/Class<*>;>;
    Signature: (Ljava/lang/Class<*>;)Ljava/util/Set<Ljava/lang/Class<*>;>;
    MethodParameters:
       Name  Flags
      clazz  final

  private static void computeProviderContracts(java.lang.Class<?>, java.util.Set<java.lang.Class<?>>);
    descriptor: (Ljava/lang/Class;Ljava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // java.util.Set contracts
         0: .line 395
            aload 0 /* clazz */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getImplementedContracts:(Ljava/lang/Class;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 2 /* contract */
        start local 2 // java.lang.Class contract
         2: .line 396
            aload 2 /* contract */
            invokestatic org.glassfish.jersey.internal.inject.Providers.isSupportedContract:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 397
            aload 1 /* contracts */
            aload 2 /* contract */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 399
      StackMap locals: java.lang.Class java.util.Set java.lang.Class java.util.Iterator
      StackMap stack:
            aload 2 /* contract */
            aload 1 /* contracts */
            invokestatic org.glassfish.jersey.internal.inject.Providers.computeProviderContracts:(Ljava/lang/Class;Ljava/util/Set;)V
        end local 2 // java.lang.Class contract
         5: .line 395
      StackMap locals: java.lang.Class java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 401
            return
        end local 1 // java.util.Set contracts
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0      clazz  Ljava/lang/Class<*>;
            0    7     1  contracts  Ljava/util/Set<Ljava/lang/Class<*>;>;
            2    5     2   contract  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/util/Set<Ljava/lang/Class<*>;>;)V
    MethodParameters:
           Name  Flags
      clazz      final
      contracts  final

  public static boolean checkProviderRuntime(java.lang.Class<?>, org.glassfish.jersey.model.ContractProvider, javax.ws.rs.RuntimeType, boolean, );
    descriptor: (Ljava/lang/Class;Lorg/glassfish/jersey/model/ContractProvider;Ljavax/ws/rs/RuntimeType;ZZ)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=16, args_size=5
        start local 0 // java.lang.Class component
        start local 1 // org.glassfish.jersey.model.ContractProvider model
        start local 2 // javax.ws.rs.RuntimeType runtimeConstraint
        start local 3 // boolean scanned
        start local 4 // boolean isResource
         0: .line 425
            aload 1 /* model */
            invokevirtual org.glassfish.jersey.model.ContractProvider.getContracts:()Ljava/util/Set;
            astore 5 /* contracts */
        start local 5 // java.util.Set contracts
         1: .line 426
            aload 0 /* component */
            ldc Ljavax/ws/rs/ConstrainedTo;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.ws.rs.ConstrainedTo
            astore 6 /* constrainedTo */
        start local 6 // javax.ws.rs.ConstrainedTo constrainedTo
         2: .line 427
            aload 6 /* constrainedTo */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: java.util.Set javax.ws.rs.ConstrainedTo
      StackMap stack:
         3: aload 6 /* constrainedTo */
            invokeinterface javax.ws.rs.ConstrainedTo.value:()Ljavax/ws/rs/RuntimeType;
      StackMap locals:
      StackMap stack: javax.ws.rs.RuntimeType
         4: astore 7 /* componentConstraint */
        start local 7 // javax.ws.rs.RuntimeType componentConstraint
         5: .line 428
            ldc Ljavax/ws/rs/core/Feature;
            aload 0 /* component */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 7
         6: .line 429
            iconst_1
            ireturn
         7: .line 432
      StackMap locals: javax.ws.rs.RuntimeType
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* warnings */
        start local 8 // java.lang.StringBuilder warnings
         8: .line 438
            aload 7 /* componentConstraint */
            ifnonnull 9
            iconst_1
            goto 10
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 9 /* foundComponentCompatible */
        start local 9 // boolean foundComponentCompatible
        11: .line 439
            iload 4 /* isResource */
            ifeq 12
            aload 2 /* runtimeConstraint */
            getstatic javax.ws.rs.RuntimeType.SERVER:Ljavax/ws/rs/RuntimeType;
            if_acmpne 12
            iconst_1
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 10 /* foundRuntimeCompatibleContract */
        start local 10 // boolean foundRuntimeCompatibleContract
        14: .line 440
            aload 5 /* contracts */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 31
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder int int top java.util.Iterator
      StackMap stack:
        15: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 11 /* contract */
        start local 11 // java.lang.Class contract
        16: .line 442
            aload 11 /* contract */
            aload 7 /* componentConstraint */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getContractConstraint:(Ljava/lang/Class;Ljavax/ws/rs/RuntimeType;)Ljavax/ws/rs/RuntimeType;
            astore 13 /* contractConstraint */
        start local 13 // javax.ws.rs.RuntimeType contractConstraint
        17: .line 443
            iload 10 /* foundRuntimeCompatibleContract */
            aload 13 /* contractConstraint */
            ifnull 18
            aload 13 /* contractConstraint */
            aload 2 /* runtimeConstraint */
            if_acmpeq 18
            iconst_0
            goto 19
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder int int java.lang.Class java.util.Iterator javax.ws.rs.RuntimeType
      StackMap stack: int
        18: iconst_1
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder int int java.lang.Class java.util.Iterator javax.ws.rs.RuntimeType
      StackMap stack: int int
        19: ior
            istore 10 /* foundRuntimeCompatibleContract */
        20: .line 445
            aload 7 /* componentConstraint */
            ifnull 31
        21: .line 446
            aload 13 /* contractConstraint */
            aload 7 /* componentConstraint */
            if_acmpeq 30
        22: .line 448
            aload 8 /* warnings */
        23: .line 449
            aload 0 /* component */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        24: .line 450
            aload 7 /* componentConstraint */
            invokevirtual javax.ws.rs.RuntimeType.name:()Ljava/lang/String;
        25: .line 451
            aload 11 /* contract */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        26: .line 452
            aload 13 /* contractConstraint */
            invokevirtual javax.ws.rs.RuntimeType.name:()Ljava/lang/String;
        27: .line 448
            invokestatic org.glassfish.jersey.internal.LocalizationMessages.WARNING_PROVIDER_CONSTRAINED_TO_WRONG_PACKAGE:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 453
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 454
            goto 31
        30: .line 455
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 9 /* foundComponentCompatible */
        end local 13 // javax.ws.rs.RuntimeType contractConstraint
        end local 11 // java.lang.Class contract
        31: .line 440
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder int int top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        32: .line 460
            iload 9 /* foundComponentCompatible */
            ifne 42
        33: .line 462
            aload 8 /* warnings */
        34: .line 463
            aload 0 /* component */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        35: .line 464
            aload 7 /* componentConstraint */
            invokevirtual javax.ws.rs.RuntimeType.name:()Ljava/lang/String;
        36: .line 462
            invokestatic org.glassfish.jersey.internal.LocalizationMessages.ERROR_PROVIDER_CONSTRAINED_TO_WRONG_PACKAGE:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 465
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 466
            aload 8 /* warnings */
            aload 0 /* component */
            iload 4 /* isResource */
            invokestatic org.glassfish.jersey.internal.inject.Providers.logProviderSkipped:(Ljava/lang/StringBuilder;Ljava/lang/Class;Z)V
        39: .line 496
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 41
        40: .line 497
            getstatic org.glassfish.jersey.internal.inject.Providers.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        41: .line 467
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder int int
      StackMap stack:
            iconst_0
            ireturn
        42: .line 472
      StackMap locals:
      StackMap stack:
            aload 7 /* componentConstraint */
            ifnull 43
            aload 7 /* componentConstraint */
            aload 2 /* runtimeConstraint */
            if_acmpeq 43
            iconst_0
            goto 44
      StackMap locals:
      StackMap stack:
        43: iconst_1
      StackMap locals:
      StackMap stack: int
        44: istore 11 /* isProviderRuntimeCompatible */
        start local 11 // boolean isProviderRuntimeCompatible
        45: .line 473
            iload 11 /* isProviderRuntimeCompatible */
            ifne 53
            iload 3 /* scanned */
            ifne 53
        46: .line 475
            aload 8 /* warnings */
        47: .line 476
            aload 0 /* component */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        48: .line 477
            aload 7 /* componentConstraint */
            invokevirtual javax.ws.rs.RuntimeType.name:()Ljava/lang/String;
        49: .line 478
            aload 2 /* runtimeConstraint */
            invokevirtual javax.ws.rs.RuntimeType.name:()Ljava/lang/String;
        50: .line 475
            invokestatic org.glassfish.jersey.internal.LocalizationMessages.ERROR_PROVIDER_CONSTRAINED_TO_WRONG_RUNTIME:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        51: .line 479
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 481
            aload 8 /* warnings */
            aload 0 /* component */
            iload 4 /* isResource */
            invokestatic org.glassfish.jersey.internal.inject.Providers.logProviderSkipped:(Ljava/lang/StringBuilder;Ljava/lang/Class;Z)V
        53: .line 485
      StackMap locals: int
      StackMap stack:
            iload 10 /* foundRuntimeCompatibleContract */
            ifne 63
            iload 3 /* scanned */
            ifne 63
        54: .line 486
            aload 8 /* warnings */
        55: .line 487
            aload 0 /* component */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        56: .line 488
            aload 2 /* runtimeConstraint */
            invokevirtual javax.ws.rs.RuntimeType.name:()Ljava/lang/String;
        57: .line 486
            invokestatic org.glassfish.jersey.internal.LocalizationMessages.ERROR_PROVIDER_REGISTERED_WRONG_RUNTIME:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        58: .line 489
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        59: .line 490
            aload 8 /* warnings */
            aload 0 /* component */
            iload 4 /* isResource */
            invokestatic org.glassfish.jersey.internal.inject.Providers.logProviderSkipped:(Ljava/lang/StringBuilder;Ljava/lang/Class;Z)V
        60: .line 496
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 62
        61: .line 497
            getstatic org.glassfish.jersey.internal.inject.Providers.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        62: .line 491
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        63: .line 494
      StackMap locals:
      StackMap stack:
            iload 11 /* isProviderRuntimeCompatible */
            ifeq 64
            iload 10 /* foundRuntimeCompatibleContract */
            ifeq 64
            iconst_1
            goto 65
      StackMap locals:
      StackMap stack:
        64: iconst_0
      StackMap locals:
      StackMap stack: int
        65: istore 15
        66: .line 496
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 68
        67: .line 497
            getstatic org.glassfish.jersey.internal.inject.Providers.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        68: .line 494
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder int int int top top top int
      StackMap stack:
            iload 15
            ireturn
        end local 11 // boolean isProviderRuntimeCompatible
        end local 10 // boolean foundRuntimeCompatibleContract
        end local 9 // boolean foundComponentCompatible
        69: .line 495
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder
      StackMap stack: java.lang.Throwable
            astore 14
        70: .line 496
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 72
        71: .line 497
            getstatic org.glassfish.jersey.internal.inject.Providers.LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
            aload 8 /* warnings */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        72: .line 499
      StackMap locals: java.lang.Class org.glassfish.jersey.model.ContractProvider javax.ws.rs.RuntimeType int int java.util.Set javax.ws.rs.ConstrainedTo javax.ws.rs.RuntimeType java.lang.StringBuilder top top top top top java.lang.Throwable
      StackMap stack:
            aload 14
            athrow
        end local 8 // java.lang.StringBuilder warnings
        end local 7 // javax.ws.rs.RuntimeType componentConstraint
        end local 6 // javax.ws.rs.ConstrainedTo constrainedTo
        end local 5 // java.util.Set contracts
        end local 4 // boolean isResource
        end local 3 // boolean scanned
        end local 2 // javax.ws.rs.RuntimeType runtimeConstraint
        end local 1 // org.glassfish.jersey.model.ContractProvider model
        end local 0 // java.lang.Class component
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   73     0                       component  Ljava/lang/Class<*>;
            0   73     1                           model  Lorg/glassfish/jersey/model/ContractProvider;
            0   73     2               runtimeConstraint  Ljavax/ws/rs/RuntimeType;
            0   73     3                         scanned  Z
            0   73     4                      isResource  Z
            1   73     5                       contracts  Ljava/util/Set<Ljava/lang/Class<*>;>;
            2   73     6                   constrainedTo  Ljavax/ws/rs/ConstrainedTo;
            5   73     7             componentConstraint  Ljavax/ws/rs/RuntimeType;
            8   73     8                        warnings  Ljava/lang/StringBuilder;
           11   69     9        foundComponentCompatible  Z
           14   69    10  foundRuntimeCompatibleContract  Z
           16   31    11                        contract  Ljava/lang/Class<*>;
           17   31    13              contractConstraint  Ljavax/ws/rs/RuntimeType;
           45   69    11     isProviderRuntimeCompatible  Z
      Exception table:
        from    to  target  type
           8    39      69  any
          42    60      69  any
          63    66      69  any
    Signature: (Ljava/lang/Class<*>;Lorg/glassfish/jersey/model/ContractProvider;Ljavax/ws/rs/RuntimeType;ZZ)Z
    MethodParameters:
                   Name  Flags
      component          final
      model              final
      runtimeConstraint  final
      scanned            final
      isResource         final

  private static void logProviderSkipped(java.lang.StringBuilder, java.lang.Class<?>, );
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/Class;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.StringBuilder sb
        start local 1 // java.lang.Class provider
        start local 2 // boolean alsoResourceClass
         0: .line 503
            aload 0 /* sb */
            iload 2 /* alsoResourceClass */
            ifeq 2
         1: .line 504
            aload 1 /* provider */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.glassfish.jersey.internal.LocalizationMessages.ERROR_PROVIDER_AND_RESOURCE_CONSTRAINED_TO_IGNORED:(Ljava/lang/Object;)Ljava/lang/String;
            goto 3
         2: .line 505
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            aload 1 /* provider */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.glassfish.jersey.internal.LocalizationMessages.ERROR_PROVIDER_CONSTRAINED_TO_IGNORED:(Ljava/lang/Object;)Ljava/lang/String;
         3: .line 503
      StackMap locals: java.lang.StringBuilder java.lang.Class int
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 505
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 506
            return
        end local 2 // boolean alsoResourceClass
        end local 1 // java.lang.Class provider
        end local 0 // java.lang.StringBuilder sb
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0                 sb  Ljava/lang/StringBuilder;
            0    6     1           provider  Ljava/lang/Class<*>;
            0    6     2  alsoResourceClass  Z
    Signature: (Ljava/lang/StringBuilder;Ljava/lang/Class<*>;Z)V
    MethodParameters:
                   Name  Flags
      sb                 final
      provider           final
      alsoResourceClass  final

  public static boolean isSupportedContract(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 515
            getstatic org.glassfish.jersey.internal.inject.Providers.EXTERNAL_PROVIDER_INTERFACE_WHITELIST:Ljava/util/Map;
            aload 0 /* type */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 1
            aload 0 /* type */
            ldc Lorg/glassfish/jersey/spi/Contract;
            invokevirtual java.lang.Class.isAnnotationPresent:(Ljava/lang/Class;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  type  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      type  final

  private static javax.ws.rs.RuntimeType getContractConstraint(java.lang.Class<?>, javax.ws.rs.RuntimeType);
    descriptor: (Ljava/lang/Class;Ljavax/ws/rs/RuntimeType;)Ljavax/ws/rs/RuntimeType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.Class clazz
        start local 1 // javax.ws.rs.RuntimeType defaultConstraint
         0: .line 519
            getstatic org.glassfish.jersey.internal.inject.Providers.EXTERNAL_PROVIDER_INTERFACE_WHITELIST:Ljava/util/Map;
            aload 0 /* clazz */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.glassfish.jersey.internal.inject.Providers$ProviderRuntime
            astore 2 /* jaxRsProvider */
        start local 2 // org.glassfish.jersey.internal.inject.Providers$ProviderRuntime jaxRsProvider
         1: .line 521
            aconst_null
            astore 3 /* result */
        start local 3 // javax.ws.rs.RuntimeType result
         2: .line 522
            aload 2 /* jaxRsProvider */
            ifnull 5
         3: .line 523
            aload 2 /* jaxRsProvider */
            invokevirtual org.glassfish.jersey.internal.inject.Providers$ProviderRuntime.getRuntime:()Ljavax/ws/rs/RuntimeType;
            astore 3 /* result */
         4: .line 524
            goto 9
      StackMap locals: org.glassfish.jersey.internal.inject.Providers$ProviderRuntime javax.ws.rs.RuntimeType
      StackMap stack:
         5: aload 0 /* clazz */
            ldc Lorg/glassfish/jersey/spi/Contract;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            ifnull 9
         6: .line 525
            aload 0 /* clazz */
            ldc Ljavax/ws/rs/ConstrainedTo;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.ws.rs.ConstrainedTo
            astore 4 /* constrainedToAnnotation */
        start local 4 // javax.ws.rs.ConstrainedTo constrainedToAnnotation
         7: .line 526
            aload 4 /* constrainedToAnnotation */
            ifnull 9
         8: .line 527
            aload 4 /* constrainedToAnnotation */
            invokeinterface javax.ws.rs.ConstrainedTo.value:()Ljavax/ws/rs/RuntimeType;
            astore 3 /* result */
        end local 4 // javax.ws.rs.ConstrainedTo constrainedToAnnotation
         9: .line 531
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            ifnonnull 10
            aload 1 /* defaultConstraint */
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 3 /* result */
      StackMap locals:
      StackMap stack: javax.ws.rs.RuntimeType
        11: areturn
        end local 3 // javax.ws.rs.RuntimeType result
        end local 2 // org.glassfish.jersey.internal.inject.Providers$ProviderRuntime jaxRsProvider
        end local 1 // javax.ws.rs.RuntimeType defaultConstraint
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   12     0                    clazz  Ljava/lang/Class<*>;
            0   12     1        defaultConstraint  Ljavax/ws/rs/RuntimeType;
            1   12     2            jaxRsProvider  Lorg/glassfish/jersey/internal/inject/Providers$ProviderRuntime;
            2   12     3                   result  Ljavax/ws/rs/RuntimeType;
            7    9     4  constrainedToAnnotation  Ljavax/ws/rs/ConstrainedTo;
    Signature: (Ljava/lang/Class<*>;Ljavax/ws/rs/RuntimeType;)Ljavax/ws/rs/RuntimeType;
    MethodParameters:
                   Name  Flags
      clazz              final
      defaultConstraint  final

  private static java.lang.Iterable<java.lang.Class<?>> getImplementedContracts(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Iterable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 535
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.Collection list
         1: .line 537
            aload 1 /* list */
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         2: .line 539
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
            astore 2 /* superclass */
        start local 2 // java.lang.Class superclass
         3: .line 540
            aload 2 /* superclass */
            ifnull 5
         4: .line 541
            aload 1 /* list */
            aload 2 /* superclass */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
         5: .line 544
      StackMap locals: java.util.Collection java.lang.Class
      StackMap stack:
            aload 1 /* list */
            areturn
        end local 2 // java.lang.Class superclass
        end local 1 // java.util.Collection list
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0       clazz  Ljava/lang/Class<*>;
            1    6     1        list  Ljava/util/Collection<Ljava/lang/Class<*>;>;
            3    6     2  superclass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/Iterable<Ljava/lang/Class<*>;>;
    MethodParameters:
       Name  Flags
      clazz  final

  public static boolean isProvider(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 555
            aload 0 /* clazz */
            invokestatic org.glassfish.jersey.internal.inject.Providers.findFirstProviderContract:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  clazz  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      clazz  final

  public static void ensureContract(java.lang.Class<?>, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Class;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.lang.Class contract
        start local 1 // java.lang.Class[] implementations
         0: .line 567
            aload 1 /* implementations */
            ifnull 1
            aload 1 /* implementations */
            arraylength
            ifgt 2
         1: .line 568
      StackMap locals:
      StackMap stack:
            return
         2: .line 571
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* invalidClassNames */
        start local 2 // java.lang.StringBuilder invalidClassNames
         3: .line 572
            aload 1 /* implementations */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 10
      StackMap locals: java.lang.Class java.lang.Class[] java.lang.StringBuilder top int int java.lang.Class[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* impl */
        start local 3 // java.lang.Class impl
         5: .line 573
            aload 0 /* contract */
            aload 3 /* impl */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 9
         6: .line 574
            aload 2 /* invalidClassNames */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 8
         7: .line 575
            aload 2 /* invalidClassNames */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 577
      StackMap locals: java.lang.Class java.lang.Class[] java.lang.StringBuilder java.lang.Class int int java.lang.Class[]
      StackMap stack:
            aload 2 /* invalidClassNames */
            aload 3 /* impl */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 3 // java.lang.Class impl
         9: .line 572
      StackMap locals: java.lang.Class java.lang.Class[] java.lang.StringBuilder top int int java.lang.Class[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        10: iload 4
            iload 5
            if_icmplt 4
        11: .line 581
            aload 2 /* invalidClassNames */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 16
        12: .line 582
            new java.lang.IllegalArgumentException
            dup
        13: .line 583
            aload 0 /* contract */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        14: .line 584
            aload 2 /* invalidClassNames */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 582
            invokestatic org.glassfish.jersey.internal.LocalizationMessages.INVALID_SPI_CLASSES:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 587
      StackMap locals: java.lang.Class java.lang.Class[] java.lang.StringBuilder
      StackMap stack:
            return
        end local 2 // java.lang.StringBuilder invalidClassNames
        end local 1 // java.lang.Class[] implementations
        end local 0 // java.lang.Class contract
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0           contract  Ljava/lang/Class<*>;
            0   17     1    implementations  [Ljava/lang/Class;
            3   17     2  invalidClassNames  Ljava/lang/StringBuilder;
            5    9     3               impl  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)V
    MethodParameters:
                 Name  Flags
      contract         final
      implementations  final

  private static boolean findFirstProviderContract(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 590
            aload 0 /* clazz */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getImplementedContracts:(Ljava/lang/Class;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: java.lang.Class top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Class
            astore 1 /* contract */
        start local 1 // java.lang.Class contract
         2: .line 591
            aload 1 /* contract */
            invokestatic org.glassfish.jersey.internal.inject.Providers.isSupportedContract:(Ljava/lang/Class;)Z
            ifeq 4
         3: .line 592
            iconst_1
            ireturn
         4: .line 594
      StackMap locals: java.lang.Class java.lang.Class java.util.Iterator
      StackMap stack:
            aload 1 /* contract */
            invokestatic org.glassfish.jersey.internal.inject.Providers.findFirstProviderContract:(Ljava/lang/Class;)Z
            ifeq 6
         5: .line 595
            iconst_1
            ireturn
        end local 1 // java.lang.Class contract
         6: .line 590
      StackMap locals: java.lang.Class top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 598
            iconst_0
            ireturn
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0     clazz  Ljava/lang/Class<*>;
            2    6     1  contract  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      clazz  final

  private static java.util.stream.Stream lambda$2(java.lang.Iterable);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Iterable rankedProviders
         0: .line 247
            aload 0 /* rankedProviders */
            invokeinterface java.lang.Iterable.spliterator:()Ljava/util/Spliterator;
            iconst_0
            invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
            areturn
        end local 0 // java.lang.Iterable rankedProviders
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0  rankedProviders  Ljava/lang/Iterable<Lorg/glassfish/jersey/model/internal/RankedProvider<TT;>;>;

  private static int lambda$5(java.util.Comparator, java.lang.Class, org.glassfish.jersey.internal.inject.ServiceHolder, org.glassfish.jersey.internal.inject.ServiceHolder);
    descriptor: (Ljava/util/Comparator;Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 2 // org.glassfish.jersey.internal.inject.ServiceHolder o1
        start local 3 // org.glassfish.jersey.internal.inject.ServiceHolder o2
         0: .line 308
            aload 0
         1: .line 309
            aload 1
            aload 2 /* o1 */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getImplementationClass:(Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Class;
            aload 1
            aload 3 /* o2 */
            invokestatic org.glassfish.jersey.internal.inject.Providers.getImplementationClass:(Ljava/lang/Class;Lorg/glassfish/jersey/internal/inject/ServiceHolder;)Ljava/lang/Class;
         2: .line 308
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
         3: .line 309
            ireturn
        end local 3 // org.glassfish.jersey.internal.inject.ServiceHolder o2
        end local 2 // org.glassfish.jersey.internal.inject.ServiceHolder o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     2    o1  Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;
            0    4     3    o2  Lorg/glassfish/jersey/internal/inject/ServiceHolder<TT;>;

  private static boolean lambda$8(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.reflect.Type a
         0: .line 371
            ldc Ljava/lang/Class;
            aload 0 /* a */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // java.lang.reflect.Type a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/lang/reflect/Type;

  private static java.lang.Class lambda$9(java.lang.reflect.Type);
    descriptor: (Ljava/lang/reflect/Type;)Ljava/lang/Class;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.reflect.Type a
         0: .line 372
            aload 0 /* a */
            checkcast java.lang.Class
            areturn
        end local 0 // java.lang.reflect.Type a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     a  Ljava/lang/reflect/Type;

  private static java.lang.Class lambda$10(java.lang.Class, java.lang.Class);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Class a
        start local 1 // java.lang.Class b
         0: .line 372
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 1
            aload 1 /* b */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* a */
      StackMap locals:
      StackMap stack: java.lang.Class
         2: areturn
        end local 1 // java.lang.Class b
        end local 0 // java.lang.Class a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     a  Ljava/lang/Class;
            0    3     1     b  Ljava/lang/Class;
}
SourceFile: "Providers.java"
NestMembers:
  org.glassfish.jersey.internal.inject.Providers$ProviderRuntime
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private final ProviderRuntime = org.glassfish.jersey.internal.inject.Providers$ProviderRuntime of org.glassfish.jersey.internal.inject.Providers