public class org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider implements javax.ws.rs.ext.ParamConverterProvider
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider
  super_class: java.lang.Object
{
  private static final java.util.regex.Pattern PROXY_REGEX;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 35
            ldc "\\p{Punct}|\\[\\p{Punct}+\\]"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            putstatic org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider.PROXY_REGEX:Ljava/util/regex/Pattern;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jboss/resteasy/plugins/providers/MultiValuedParamConverterProvider;

  public <T> javax.ws.rs.ext.ParamConverter<T> getConverter(java.lang.Class<T>, java.lang.reflect.Type, java.lang.annotation.Annotation[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Ljavax/ws/rs/ext/ParamConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=10, args_size=4
        start local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
        start local 1 // java.lang.Class rawType
        start local 2 // java.lang.reflect.Type genericType
        start local 3 // java.lang.annotation.Annotation[] annotations
         0: .line 41
            aload 0 /* this */
            aload 3 /* annotations */
            invokevirtual org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider.isApplicable:([Ljava/lang/annotation/Annotation;)Z
            ifne 2
         1: .line 43
            aconst_null
            areturn
         2: .line 45
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* annotations */
            invokevirtual org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider.getSeparator:([Ljava/lang/annotation/Annotation;)Ljava/lang/String;
            astore 4 /* separator */
        start local 4 // java.lang.String separator
         3: .line 46
            aload 0 /* this */
            aload 3 /* annotations */
            invokevirtual org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider.getHeaderParam:([Ljava/lang/annotation/Annotation;)Ljava/lang/Class;
            astore 5 /* paramType */
        start local 5 // java.lang.Class paramType
         4: .line 47
            ldc Ljava/util/Collection;
            aload 1 /* rawType */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 20
         5: .line 49
            getstatic org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider.PROXY_REGEX:Ljava/util/regex/Pattern;
            aload 4 /* separator */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 8
         6: .line 51
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
            aload 1 /* rawType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 4 /* separator */
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.invalidRegex:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 52
            aconst_null
            areturn
         8: .line 54
      StackMap locals: java.lang.String java.lang.Class
      StackMap stack:
            aconst_null
            astore 6 /* type */
        start local 6 // java.lang.Class type
         9: .line 57
            aload 2 /* genericType */
            invokestatic org.jboss.resteasy.spi.util.Types.getTypeArgument:(Ljava/lang/reflect/Type;)Ljava/lang/Class;
            astore 6 /* type */
        10: .line 58
            aload 6 /* type */
            ifnonnull 14
        11: .line 60
            aconst_null
            areturn
        12: .line 63
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] java.lang.String java.lang.Class java.lang.Class
      StackMap stack: java.lang.Exception
            pop
        13: .line 65
            aconst_null
            areturn
        14: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* rawType */
            invokevirtual org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider.getConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 7 /* constructor */
        start local 7 // java.lang.reflect.Constructor constructor
        15: .line 68
            aload 7 /* constructor */
            ifnonnull 17
        16: .line 70
            aconst_null
            areturn
        17: .line 72
      StackMap locals: java.lang.reflect.Constructor
      StackMap stack:
            ldc Lorg/jboss/resteasy/spi/ResteasyProviderFactory;
            invokestatic org.jboss.resteasy.core.ResteasyContext.getContextData:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.jboss.resteasy.spi.ResteasyProviderFactory
            astore 8 /* factory */
        start local 8 // org.jboss.resteasy.spi.ResteasyProviderFactory factory
        18: .line 73
            new org.jboss.resteasy.core.StringParameterInjector
            dup
            aload 6 /* type */
            aconst_null
            aconst_null
            aload 5 /* paramType */
            aconst_null
            aconst_null
            aload 3 /* annotations */
            aload 8 /* factory */
            invokespecial org.jboss.resteasy.core.StringParameterInjector.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Type;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/AccessibleObject;[Ljava/lang/annotation/Annotation;Lorg/jboss/resteasy/spi/ResteasyProviderFactory;)V
            astore 9 /* stringParameterInjector */
        start local 9 // org.jboss.resteasy.core.StringParameterInjector stringParameterInjector
        19: .line 74
            new org.jboss.resteasy.plugins.providers.MultiValuedCollectionParamConverter
            dup
            aload 9 /* stringParameterInjector */
            aload 4 /* separator */
            aload 7 /* constructor */
            invokespecial org.jboss.resteasy.plugins.providers.MultiValuedCollectionParamConverter.<init>:(Lorg/jboss/resteasy/core/StringParameterInjector;Ljava/lang/String;Ljava/lang/reflect/Constructor;)V
            areturn
        end local 9 // org.jboss.resteasy.core.StringParameterInjector stringParameterInjector
        end local 8 // org.jboss.resteasy.spi.ResteasyProviderFactory factory
        end local 7 // java.lang.reflect.Constructor constructor
        end local 6 // java.lang.Class type
        20: .line 76
      StackMap locals:
      StackMap stack:
            aload 1 /* rawType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 27
        21: .line 78
            aload 1 /* rawType */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 6 /* type */
        start local 6 // java.lang.Class type
        22: .line 79
            aload 6 /* type */
            invokevirtual java.lang.Class.isArray:()Z
            ifne 23
            ldc Ljava/util/Collection;
            aload 6 /* type */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 24
        23: .line 81
      StackMap locals: java.lang.Class
      StackMap stack:
            aconst_null
            areturn
        24: .line 83
      StackMap locals:
      StackMap stack:
            ldc Lorg/jboss/resteasy/spi/ResteasyProviderFactory;
            invokestatic org.jboss.resteasy.core.ResteasyContext.getContextData:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.jboss.resteasy.spi.ResteasyProviderFactory
            astore 7 /* factory */
        start local 7 // org.jboss.resteasy.spi.ResteasyProviderFactory factory
        25: .line 84
            new org.jboss.resteasy.core.StringParameterInjector
            dup
            aload 6 /* type */
            aconst_null
            aconst_null
            aload 5 /* paramType */
            aconst_null
            aconst_null
            aload 3 /* annotations */
            aload 7 /* factory */
            invokespecial org.jboss.resteasy.core.StringParameterInjector.<init>:(Ljava/lang/Class;Ljava/lang/reflect/Type;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/reflect/AccessibleObject;[Ljava/lang/annotation/Annotation;Lorg/jboss/resteasy/spi/ResteasyProviderFactory;)V
            astore 8 /* stringParameterInjector */
        start local 8 // org.jboss.resteasy.core.StringParameterInjector stringParameterInjector
        26: .line 85
            new org.jboss.resteasy.plugins.providers.MultiValuedArrayParamConverter
            dup
            aload 8 /* stringParameterInjector */
            aload 4 /* separator */
            aload 1 /* rawType */
            invokespecial org.jboss.resteasy.plugins.providers.MultiValuedArrayParamConverter.<init>:(Lorg/jboss/resteasy/core/StringParameterInjector;Ljava/lang/String;Ljava/lang/Class;)V
            areturn
        end local 8 // org.jboss.resteasy.core.StringParameterInjector stringParameterInjector
        end local 7 // org.jboss.resteasy.spi.ResteasyProviderFactory factory
        end local 6 // java.lang.Class type
        27: .line 87
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.lang.Class paramType
        end local 4 // java.lang.String separator
        end local 3 // java.lang.annotation.Annotation[] annotations
        end local 2 // java.lang.reflect.Type genericType
        end local 1 // java.lang.Class rawType
        end local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   28     0                     this  Lorg/jboss/resteasy/plugins/providers/MultiValuedParamConverterProvider;
            0   28     1                  rawType  Ljava/lang/Class<TT;>;
            0   28     2              genericType  Ljava/lang/reflect/Type;
            0   28     3              annotations  [Ljava/lang/annotation/Annotation;
            3   28     4                separator  Ljava/lang/String;
            4   28     5                paramType  Ljava/lang/Class<*>;
            9   20     6                     type  Ljava/lang/Class<*>;
           15   20     7              constructor  Ljava/lang/reflect/Constructor<*>;
           18   20     8                  factory  Lorg/jboss/resteasy/spi/ResteasyProviderFactory;
           19   20     9  stringParameterInjector  Lorg/jboss/resteasy/core/StringParameterInjector;
           22   27     6                     type  Ljava/lang/Class<*>;
           25   27     7                  factory  Lorg/jboss/resteasy/spi/ResteasyProviderFactory;
           26   27     8  stringParameterInjector  Lorg/jboss/resteasy/core/StringParameterInjector;
      Exception table:
        from    to  target  type
           9    11      12  Class java.lang.Exception
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;)Ljavax/ws/rs/ext/ParamConverter<TT;>;
    MethodParameters:
             Name  Flags
      rawType      
      genericType  
      annotations  

  private boolean isApplicable(java.lang.annotation.Annotation[]);
    descriptor: ([Ljava/lang/annotation/Annotation;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
        start local 1 // java.lang.annotation.Annotation[] annotations
         0: .line 93
            aload 1 /* annotations */
            ifnonnull 2
         1: .line 95
            iconst_0
            ireturn
         2: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* annotations */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* a */
        start local 2 // java.lang.annotation.Annotation a
         4: .line 99
            aload 2 /* a */
            instanceof org.jboss.resteasy.annotations.Separator
            ifeq 6
         5: .line 101
            iconst_1
            ireturn
        end local 2 // java.lang.annotation.Annotation a
         6: .line 97
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 3
         8: .line 104
            iconst_0
            ireturn
        end local 1 // java.lang.annotation.Annotation[] annotations
        end local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/jboss/resteasy/plugins/providers/MultiValuedParamConverterProvider;
            0    9     1  annotations  [Ljava/lang/annotation/Annotation;
            4    6     2            a  Ljava/lang/annotation/Annotation;
    MethodParameters:
             Name  Flags
      annotations  

  private java.lang.reflect.Constructor<?> getConstructor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
        start local 1 // java.lang.Class clazz
         0: .line 111
            ldc Ljava/util/List;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            ldc Ljava/util/ArrayList;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 113
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/ArrayList;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         2: areturn
         3: .line 115
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/SortedSet;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
            ldc Ljava/util/TreeSet;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 117
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/TreeSet;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         5: areturn
         6: .line 119
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/Set;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 7
            ldc Ljava/util/HashSet;
            aload 1 /* clazz */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 121
      StackMap locals:
      StackMap stack:
            ldc Ljava/util/HashSet;
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         8: areturn
         9: .line 125
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        10: .line 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        11: .line 130
            aconst_null
            areturn
        end local 1 // java.lang.Class clazz
        end local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/jboss/resteasy/plugins/providers/MultiValuedParamConverterProvider;
            0   12     1  clazz  Ljava/lang/Class<*>;
      Exception table:
        from    to  target  type
           0     2      10  Class java.lang.NoSuchMethodException
           3     5      10  Class java.lang.NoSuchMethodException
           6     8      10  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
       Name  Flags
      clazz  

  private java.lang.String getSeparator(java.lang.annotation.Annotation[]);
    descriptor: ([Ljava/lang/annotation/Annotation;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
        start local 1 // java.lang.annotation.Annotation[] annotations
         0: .line 136
            aload 1 /* annotations */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* a */
        start local 2 // java.lang.annotation.Annotation a
         2: .line 138
            aload 2 /* a */
            instanceof org.jboss.resteasy.annotations.Separator
            ifeq 6
         3: .line 140
            ldc ""
            aload 2 /* a */
            checkcast org.jboss.resteasy.annotations.Separator
            invokeinterface org.jboss.resteasy.annotations.Separator.value:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 142
            goto 8
         5: .line 144
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.annotation.Annotation[] java.lang.annotation.Annotation int int java.lang.annotation.Annotation[]
      StackMap stack:
            aload 2 /* a */
            checkcast org.jboss.resteasy.annotations.Separator
            invokeinterface org.jboss.resteasy.annotations.Separator.value:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.annotation.Annotation a
         6: .line 136
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 1
         8: .line 148
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.annotation.Annotation[]
      StackMap stack:
            aload 1 /* annotations */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 13
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
      StackMap stack:
         9: aload 5
            iload 3
            aaload
            astore 2 /* a */
        start local 2 // java.lang.annotation.Annotation a
        10: .line 150
            aload 2 /* a */
            instanceof javax.ws.rs.CookieParam
            ifeq 12
        11: .line 152
            ldc "-"
            areturn
        end local 2 // java.lang.annotation.Annotation a
        12: .line 148
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        13: iload 3
            iload 4
            if_icmplt 9
        14: .line 155
            ldc ","
            areturn
        end local 1 // java.lang.annotation.Annotation[] annotations
        end local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/jboss/resteasy/plugins/providers/MultiValuedParamConverterProvider;
            0   15     1  annotations  [Ljava/lang/annotation/Annotation;
            2    6     2            a  Ljava/lang/annotation/Annotation;
           10   12     2            a  Ljava/lang/annotation/Annotation;
    MethodParameters:
             Name  Flags
      annotations  

  private java.lang.Class<?> getHeaderParam(java.lang.annotation.Annotation[]);
    descriptor: ([Ljava/lang/annotation/Annotation;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
        start local 1 // java.lang.annotation.Annotation[] annotations
         0: .line 160
            aload 1 /* annotations */
            ifnonnull 2
         1: .line 162
            aconst_null
            areturn
         2: .line 164
      StackMap locals:
      StackMap stack:
            aload 1 /* annotations */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider java.lang.annotation.Annotation[] top int int java.lang.annotation.Annotation[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* a */
        start local 2 // java.lang.annotation.Annotation a
         4: .line 166
            aload 2 /* a */
            instanceof javax.ws.rs.HeaderParam
            ifeq 6
         5: .line 168
            ldc Ljavax/ws/rs/HeaderParam;
            areturn
        end local 2 // java.lang.annotation.Annotation a
         6: .line 164
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 3
         8: .line 171
            aconst_null
            areturn
        end local 1 // java.lang.annotation.Annotation[] annotations
        end local 0 // org.jboss.resteasy.plugins.providers.MultiValuedParamConverterProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/jboss/resteasy/plugins/providers/MultiValuedParamConverterProvider;
            0    9     1  annotations  [Ljava/lang/annotation/Annotation;
            4    6     2            a  Ljava/lang/annotation/Annotation;
    Signature: ([Ljava/lang/annotation/Annotation;)Ljava/lang/Class<*>;
    MethodParameters:
             Name  Flags
      annotations  
}
SourceFile: "MultiValuedParamConverterProvider.java"
    RuntimeVisibleAnnotations: 
      javax.ws.rs.ext.Provider()