public class org.jboss.resteasy.util.MediaTypeHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jboss.resteasy.util.MediaTypeHelper
  super_class: java.lang.Object
{
  private static final org.jboss.resteasy.util.MediaTypeHelper$MediaTypeComparator COMPARATOR;
    descriptor: Lorg/jboss/resteasy/util/MediaTypeHelper$MediaTypeComparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 27
            new org.jboss.resteasy.util.MediaTypeHelper$MediaTypeComparator
            dup
            invokespecial org.jboss.resteasy.util.MediaTypeHelper$MediaTypeComparator.<init>:()V
            putstatic org.jboss.resteasy.util.MediaTypeHelper.COMPARATOR:Lorg/jboss/resteasy/util/MediaTypeHelper$MediaTypeComparator;
            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.util.MediaTypeHelper this
         0: .line 25
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jboss.resteasy.util.MediaTypeHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jboss/resteasy/util/MediaTypeHelper;

  public static javax.ws.rs.core.MediaType getConsumes(java.lang.Class, java.lang.reflect.AccessibleObject);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/AccessibleObject;)Ljavax/ws/rs/core/MediaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Class declaring
        start local 1 // java.lang.reflect.AccessibleObject method
         0: .line 32
            aload 1 /* method */
            ldc Ljavax/ws/rs/Consumes;
            invokevirtual java.lang.reflect.AccessibleObject.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.ws.rs.Consumes
            astore 2 /* consume */
        start local 2 // javax.ws.rs.Consumes consume
         1: .line 33
            aload 2 /* consume */
            ifnonnull 4
         2: .line 35
            aload 0 /* declaring */
            ldc Ljavax/ws/rs/Consumes;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.ws.rs.Consumes
            astore 2 /* consume */
         3: .line 36
            aload 2 /* consume */
            ifnonnull 4
            aconst_null
            areturn
         4: .line 38
      StackMap locals: javax.ws.rs.Consumes
      StackMap stack:
            aload 2 /* consume */
            invokeinterface javax.ws.rs.Consumes.value:()[Ljava/lang/String;
            iconst_0
            aaload
            invokestatic javax.ws.rs.core.MediaType.valueOf:(Ljava/lang/String;)Ljavax/ws/rs/core/MediaType;
            areturn
        end local 2 // javax.ws.rs.Consumes consume
        end local 1 // java.lang.reflect.AccessibleObject method
        end local 0 // java.lang.Class declaring
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  declaring  Ljava/lang/Class;
            0    5     1     method  Ljava/lang/reflect/AccessibleObject;
            1    5     2    consume  Ljavax/ws/rs/Consumes;
    MethodParameters:
           Name  Flags
      declaring  
      method     

  public static javax.ws.rs.core.MediaType[] getProduces(java.lang.Class, java.lang.reflect.Method);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;)[Ljavax/ws/rs/core/MediaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class declaring
        start local 1 // java.lang.reflect.Method method
         0: .line 43
            aload 0 /* declaring */
            aload 1 /* method */
            aconst_null
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.getProduces:(Ljava/lang/Class;Ljava/lang/reflect/Method;Ljavax/ws/rs/core/MediaType;)[Ljavax/ws/rs/core/MediaType;
            areturn
        end local 1 // java.lang.reflect.Method method
        end local 0 // java.lang.Class declaring
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  declaring  Ljava/lang/Class;
            0    1     1     method  Ljava/lang/reflect/Method;
    MethodParameters:
           Name  Flags
      declaring  
      method     

  public static javax.ws.rs.core.MediaType[] getProduces(java.lang.Class, java.lang.reflect.Method, javax.ws.rs.core.MediaType);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;Ljavax/ws/rs/core/MediaType;)[Ljavax/ws/rs/core/MediaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.lang.Class declaring
        start local 1 // java.lang.reflect.Method method
        start local 2 // javax.ws.rs.core.MediaType defaultProduces
         0: .line 49
            aload 1 /* method */
            ldc Ljavax/ws/rs/Produces;
            invokevirtual java.lang.reflect.Method.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.ws.rs.Produces
            astore 3 /* consume */
        start local 3 // javax.ws.rs.Produces consume
         1: .line 50
            aload 3 /* consume */
            ifnonnull 3
         2: .line 52
            aload 0 /* declaring */
            ldc Ljavax/ws/rs/Produces;
            invokevirtual java.lang.Class.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
            checkcast javax.ws.rs.Produces
            astore 3 /* consume */
         3: .line 54
      StackMap locals: javax.ws.rs.Produces
      StackMap stack:
            aload 3 /* consume */
            ifnonnull 7
         4: .line 56
            aload 2 /* defaultProduces */
            ifnull 6
         5: .line 58
            iconst_1
            anewarray javax.ws.rs.core.MediaType
            dup
            iconst_0
            aload 2 /* defaultProduces */
            aastore
            areturn
         6: .line 60
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         7: .line 63
      StackMap locals:
      StackMap stack:
            aload 3 /* consume */
            invokeinterface javax.ws.rs.Produces.value:()[Ljava/lang/String;
            arraylength
            anewarray javax.ws.rs.core.MediaType
            astore 4 /* mediaTypes */
        start local 4 // javax.ws.rs.core.MediaType[] mediaTypes
         8: .line 64
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 12
        10: .line 65
      StackMap locals: javax.ws.rs.core.MediaType[] int
      StackMap stack:
            aload 4 /* mediaTypes */
            iload 5 /* i */
            aload 3 /* consume */
            invokeinterface javax.ws.rs.Produces.value:()[Ljava/lang/String;
            iload 5 /* i */
            aaload
            invokestatic javax.ws.rs.core.MediaType.valueOf:(Ljava/lang/String;)Ljavax/ws/rs/core/MediaType;
            aastore
        11: .line 64
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            aload 3 /* consume */
            invokeinterface javax.ws.rs.Produces.value:()[Ljava/lang/String;
            arraylength
            if_icmplt 10
        end local 5 // int i
        13: .line 67
            aload 4 /* mediaTypes */
            arraylength
            ifeq 14
            aload 4 /* mediaTypes */
            goto 15
      StackMap locals:
      StackMap stack:
        14: aconst_null
      StackMap locals:
      StackMap stack: javax.ws.rs.core.MediaType[]
        15: areturn
        end local 4 // javax.ws.rs.core.MediaType[] mediaTypes
        end local 3 // javax.ws.rs.Produces consume
        end local 2 // javax.ws.rs.core.MediaType defaultProduces
        end local 1 // java.lang.reflect.Method method
        end local 0 // java.lang.Class declaring
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0        declaring  Ljava/lang/Class;
            0   16     1           method  Ljava/lang/reflect/Method;
            0   16     2  defaultProduces  Ljavax/ws/rs/core/MediaType;
            1   16     3          consume  Ljavax/ws/rs/Produces;
            8   16     4       mediaTypes  [Ljavax/ws/rs/core/MediaType;
            9   13     5                i  I
    MethodParameters:
                 Name  Flags
      declaring        
      method           
      defaultProduces  

  public static float getQ(javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // javax.ws.rs.core.MediaType type
         0: .line 72
            aload 0 /* type */
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.getQWithParamInfo:(Ljavax/ws/rs/core/MediaType;)F
            fstore 1 /* rtn */
        start local 1 // float rtn
         1: .line 73
            fload 1 /* rtn */
            fconst_2
            fcmpl
            ifne 2
            fconst_1
            freturn
         2: .line 74
      StackMap locals: float
      StackMap stack:
            fload 1 /* rtn */
            freturn
        end local 1 // float rtn
        end local 0 // javax.ws.rs.core.MediaType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  type  Ljavax/ws/rs/core/MediaType;
            1    3     1   rtn  F
    MethodParameters:
      Name  Flags
      type  

  public static float getQWithParamInfo(javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;)F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // javax.ws.rs.core.MediaType type
         0: .line 79
            aload 0 /* type */
            invokevirtual javax.ws.rs.core.MediaType.getParameters:()Ljava/util/Map;
            ifnull 10
         1: .line 81
            aload 0 /* type */
            invokevirtual javax.ws.rs.core.MediaType.getParameters:()Ljava/util/Map;
            ldc "q"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* val */
        start local 1 // java.lang.String val
         2: .line 84
            aload 1 /* val */
            ifnull 10
         3: .line 86
            aload 1 /* val */
            invokestatic java.lang.Float.valueOf:(Ljava/lang/String;)Ljava/lang/Float;
            invokevirtual java.lang.Float.floatValue:()F
            fstore 2 /* rtn */
        start local 2 // float rtn
         4: .line 87
            fload 2 /* rtn */
            fconst_1
            fcmpl
            ifle 6
         5: .line 88
            new org.jboss.resteasy.spi.LoggableFailure
            dup
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.MESSAGES:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/Messages;
            aload 0 /* type */
            invokevirtual javax.ws.rs.core.MediaType.toString:()Ljava/lang/String;
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.mediaTypeQGreaterThan1:(Ljava/lang/String;)Ljava/lang/String;
            sipush 400
            invokespecial org.jboss.resteasy.spi.LoggableFailure.<init>:(Ljava/lang/String;I)V
            athrow
         6: .line 89
      StackMap locals: java.lang.String float
      StackMap stack:
            fload 2 /* rtn */
         7: freturn
        end local 2 // float rtn
         8: .line 92
      StackMap locals: javax.ws.rs.core.MediaType java.lang.String
      StackMap stack: java.lang.NumberFormatException
            astore 2 /* e */
        start local 2 // java.lang.NumberFormatException e
         9: .line 94
            new java.lang.RuntimeException
            dup
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.MESSAGES:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/Messages;
            aload 0 /* type */
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.mediaTypeQMustBeFloat:(Ljavax/ws/rs/core/MediaType;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.NumberFormatException e
        end local 1 // java.lang.String val
        10: .line 97
      StackMap locals:
      StackMap stack:
            fconst_2
            freturn
        end local 0 // javax.ws.rs.core.MediaType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  type  Ljavax/ws/rs/core/MediaType;
            2   10     1   val  Ljava/lang/String;
            4    8     2   rtn  F
            9   10     2     e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
           2     7       8  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      type  

  public static boolean isCompositeWildcardSubtype(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 108
            aload 0 /* subtype */
            ldc "*+"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  public static boolean isWildcardCompositeSubtype(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 119
            aload 0 /* subtype */
            ldc "+*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  public static boolean isComposite(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String subtype
         0: .line 124
            aload 0 /* subtype */
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.isCompositeWildcardSubtype:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* subtype */
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.isWildcardCompositeSubtype:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.String subtype
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  subtype  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      subtype  

  public static int compareWeight(javax.ws.rs.core.MediaType, javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MediaType;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.ws.rs.core.MediaType one
        start local 1 // javax.ws.rs.core.MediaType two
         0: .line 187
            getstatic org.jboss.resteasy.util.MediaTypeHelper.COMPARATOR:Lorg/jboss/resteasy/util/MediaTypeHelper$MediaTypeComparator;
            aload 0 /* one */
            aload 1 /* two */
            invokevirtual org.jboss.resteasy.util.MediaTypeHelper$MediaTypeComparator.compare:(Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MediaType;)I
            ireturn
        end local 1 // javax.ws.rs.core.MediaType two
        end local 0 // javax.ws.rs.core.MediaType one
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   one  Ljavax/ws/rs/core/MediaType;
            0    1     1   two  Ljavax/ws/rs/core/MediaType;
    MethodParameters:
      Name  Flags
      one   
      two   

  public static boolean sameWeight(javax.ws.rs.core.MediaType, javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MediaType;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.ws.rs.core.MediaType one
        start local 1 // javax.ws.rs.core.MediaType two
         0: .line 192
            getstatic org.jboss.resteasy.util.MediaTypeHelper.COMPARATOR:Lorg/jboss/resteasy/util/MediaTypeHelper$MediaTypeComparator;
            aload 0 /* one */
            aload 1 /* two */
            invokevirtual org.jboss.resteasy.util.MediaTypeHelper$MediaTypeComparator.compare:(Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MediaType;)I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.ws.rs.core.MediaType two
        end local 0 // javax.ws.rs.core.MediaType one
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   one  Ljavax/ws/rs/core/MediaType;
            0    2     1   two  Ljavax/ws/rs/core/MediaType;
    MethodParameters:
      Name  Flags
      one   
      two   

  public static void sortByWeight(java.util.List<javax.ws.rs.core.MediaType>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.List types
         0: .line 197
            aload 0 /* types */
            ifnull 1
            aload 0 /* types */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpgt 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* types */
            getstatic org.jboss.resteasy.util.MediaTypeHelper.COMPARATOR:Lorg/jboss/resteasy/util/MediaTypeHelper$MediaTypeComparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         3: .line 199
            return
        end local 0 // java.util.List types
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  types  Ljava/util/List<Ljavax/ws/rs/core/MediaType;>;
    Signature: (Ljava/util/List<Ljavax/ws/rs/core/MediaType;>;)V
    MethodParameters:
       Name  Flags
      types  

  public static javax.ws.rs.core.MediaType getBestMatch(java.util.List<javax.ws.rs.core.MediaType>, java.util.List<javax.ws.rs.core.MediaType>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljavax/ws/rs/core/MediaType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // java.util.List desired
        start local 1 // java.util.List provided
         0: .line 203
            aload 0 /* desired */
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.sortByWeight:(Ljava/util/List;)V
         1: .line 204
            aload 1 /* provided */
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.sortByWeight:(Ljava/util/List;)V
         2: .line 205
            aload 0 /* desired */
            ifnull 3
            aload 0 /* desired */
            invokeinterface java.util.List.size:()I
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* emptyDesired */
        start local 2 // boolean emptyDesired
         5: .line 206
            aload 1 /* provided */
            ifnull 6
            aload 1 /* provided */
            invokeinterface java.util.List.size:()I
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: int
      StackMap stack:
         6: iconst_1
      StackMap locals:
      StackMap stack: int
         7: istore 3 /* emptyProvided */
        start local 3 // boolean emptyProvided
         8: .line 208
            iload 2 /* emptyDesired */
            ifeq 9
            iload 3 /* emptyProvided */
            ifeq 9
            aconst_null
            areturn
         9: .line 209
      StackMap locals: int
      StackMap stack:
            iload 2 /* emptyDesired */
            ifeq 10
            iload 3 /* emptyProvided */
            ifne 10
            aload 1 /* provided */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.ws.rs.core.MediaType
            areturn
        10: .line 210
      StackMap locals:
      StackMap stack:
            iload 3 /* emptyProvided */
            ifeq 11
            iload 2 /* emptyDesired */
            ifne 11
            aload 0 /* desired */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.ws.rs.core.MediaType
            areturn
        11: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* desired */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 17
      StackMap locals: java.util.List java.util.List int int top java.util.Iterator
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.ws.rs.core.MediaType
            astore 4 /* desire */
        start local 4 // javax.ws.rs.core.MediaType desire
        13: .line 214
            aload 1 /* provided */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 16
      StackMap locals: java.util.List java.util.List int int javax.ws.rs.core.MediaType java.util.Iterator top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.ws.rs.core.MediaType
            astore 6 /* provide */
        start local 6 // javax.ws.rs.core.MediaType provide
        15: .line 216
            aload 6 /* provide */
            aload 4 /* desire */
            invokevirtual javax.ws.rs.core.MediaType.isCompatible:(Ljavax/ws/rs/core/MediaType;)Z
            ifeq 16
            aload 6 /* provide */
            areturn
        end local 6 // javax.ws.rs.core.MediaType provide
        16: .line 214
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        end local 4 // javax.ws.rs.core.MediaType desire
        17: .line 212
      StackMap locals: java.util.List java.util.List int int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        18: .line 219
            aconst_null
            areturn
        end local 3 // boolean emptyProvided
        end local 2 // boolean emptyDesired
        end local 1 // java.util.List provided
        end local 0 // java.util.List desired
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0        desired  Ljava/util/List<Ljavax/ws/rs/core/MediaType;>;
            0   19     1       provided  Ljava/util/List<Ljavax/ws/rs/core/MediaType;>;
            5   19     2   emptyDesired  Z
            8   19     3  emptyProvided  Z
           13   17     4         desire  Ljavax/ws/rs/core/MediaType;
           15   16     6        provide  Ljavax/ws/rs/core/MediaType;
    Signature: (Ljava/util/List<Ljavax/ws/rs/core/MediaType;>;Ljava/util/List<Ljavax/ws/rs/core/MediaType;>;)Ljavax/ws/rs/core/MediaType;
    MethodParameters:
          Name  Flags
      desired   
      provided  

  public static java.util.List<javax.ws.rs.core.MediaType> parseHeader(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.String header
         0: .line 224
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* types */
        start local 1 // java.util.ArrayList types
         1: .line 225
            aload 0 /* header */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* medias */
        start local 2 // java.lang.String[] medias
         2: .line 226
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 228
      StackMap locals: java.util.ArrayList java.lang.String[] int
      StackMap stack:
            aload 1 /* types */
            aload 2 /* medias */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic javax.ws.rs.core.MediaType.valueOf:(Ljava/lang/String;)Ljavax/ws/rs/core/MediaType;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 226
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* medias */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 230
            aload 1 /* types */
            areturn
        end local 2 // java.lang.String[] medias
        end local 1 // java.util.ArrayList types
        end local 0 // java.lang.String header
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  header  Ljava/lang/String;
            1    8     1   types  Ljava/util/ArrayList<Ljavax/ws/rs/core/MediaType;>;
            2    8     2  medias  [Ljava/lang/String;
            3    7     3       i  I
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljavax/ws/rs/core/MediaType;>;
    MethodParameters:
        Name  Flags
      header  

  public static boolean equivalent(javax.ws.rs.core.MediaType, javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MediaType;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.ws.rs.core.MediaType m1
        start local 1 // javax.ws.rs.core.MediaType m2
         0: .line 235
            aload 0 /* m1 */
            aload 1 /* m2 */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* m1 */
            invokevirtual javax.ws.rs.core.MediaType.getType:()Ljava/lang/String;
            aload 1 /* m2 */
            invokevirtual javax.ws.rs.core.MediaType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            iconst_0
            ireturn
         2: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* m1 */
            invokevirtual javax.ws.rs.core.MediaType.getSubtype:()Ljava/lang/String;
            aload 1 /* m2 */
            invokevirtual javax.ws.rs.core.MediaType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
            iconst_0
            ireturn
         3: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* m1 */
            aload 1 /* m2 */
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.equivalentParams:(Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MediaType;)Z
            ireturn
        end local 1 // javax.ws.rs.core.MediaType m2
        end local 0 // javax.ws.rs.core.MediaType m1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    m1  Ljavax/ws/rs/core/MediaType;
            0    4     1    m2  Ljavax/ws/rs/core/MediaType;
    MethodParameters:
      Name  Flags
      m1    
      m2    

  public static boolean equivalentParams(javax.ws.rs.core.MediaType, javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MediaType;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=11, args_size=2
        start local 0 // javax.ws.rs.core.MediaType m1
        start local 1 // javax.ws.rs.core.MediaType m2
         0: .line 245
            aload 0 /* m1 */
            invokevirtual javax.ws.rs.core.MediaType.getParameters:()Ljava/util/Map;
            astore 2 /* params1 */
        start local 2 // java.util.Map params1
         1: .line 246
            aload 1 /* m2 */
            invokevirtual javax.ws.rs.core.MediaType.getParameters:()Ljava/util/Map;
            astore 3 /* params2 */
        start local 3 // java.util.Map params2
         2: .line 248
            aload 2 /* params1 */
            aload 3 /* params2 */
            if_acmpne 3
            iconst_1
            ireturn
         3: .line 249
      StackMap locals: java.util.Map java.util.Map
      StackMap stack:
            aload 2 /* params1 */
            ifnull 4
            aload 3 /* params2 */
            ifnonnull 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 250
      StackMap locals:
      StackMap stack:
            aload 2 /* params1 */
            invokeinterface java.util.Map.size:()I
            ifne 6
            aload 3 /* params2 */
            invokeinterface java.util.Map.size:()I
            ifne 6
            iconst_1
            ireturn
         6: .line 251
      StackMap locals:
      StackMap stack:
            aload 2 /* params1 */
            invokeinterface java.util.Map.size:()I
            istore 4 /* numParams1 */
        start local 4 // int numParams1
         7: .line 252
            aload 2 /* params1 */
            ldc "q"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
            iinc 4 /* numParams1 */ -1
         8: .line 253
      StackMap locals: int
      StackMap stack:
            aload 3 /* params2 */
            invokeinterface java.util.Map.size:()I
            istore 5 /* numParams2 */
        start local 5 // int numParams2
         9: .line 254
            aload 3 /* params2 */
            ldc "q"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
            iinc 5 /* numParams2 */ -1
        10: .line 256
      StackMap locals: int
      StackMap stack:
            iload 4 /* numParams1 */
            iload 5 /* numParams2 */
            if_icmpeq 11
            iconst_0
            ireturn
        11: .line 257
      StackMap locals:
      StackMap stack:
            iload 4 /* numParams1 */
            ifne 12
            iconst_1
            ireturn
        12: .line 259
      StackMap locals:
      StackMap stack:
            aload 2 /* params1 */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 22
      StackMap locals: javax.ws.rs.core.MediaType javax.ws.rs.core.MediaType java.util.Map java.util.Map int int top java.util.Iterator
      StackMap stack:
        13: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        14: .line 261
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* key */
        start local 8 // java.lang.String key
        15: .line 262
            aload 8 /* key */
            ldc "q"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
            goto 22
        16: .line 263
      StackMap locals: javax.ws.rs.core.MediaType javax.ws.rs.core.MediaType java.util.Map java.util.Map int int java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* value */
        start local 9 // java.lang.String value
        17: .line 264
            aload 3 /* params2 */
            aload 8 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* value2 */
        start local 10 // java.lang.String value2
        18: .line 265
            aload 9 /* value */
            aload 10 /* value2 */
            if_acmpne 19
            goto 22
        19: .line 266
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 9 /* value */
            ifnull 20
            aload 10 /* value2 */
            ifnonnull 21
      StackMap locals:
      StackMap stack:
        20: iconst_0
            ireturn
        21: .line 267
      StackMap locals:
      StackMap stack:
            aload 9 /* value */
            aload 10 /* value2 */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            iconst_0
            ireturn
        end local 10 // java.lang.String value2
        end local 9 // java.lang.String value
        end local 8 // java.lang.String key
        end local 6 // java.util.Map$Entry entry
        22: .line 259
      StackMap locals: javax.ws.rs.core.MediaType javax.ws.rs.core.MediaType java.util.Map java.util.Map int int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        23: .line 269
            iconst_1
            ireturn
        end local 5 // int numParams2
        end local 4 // int numParams1
        end local 3 // java.util.Map params2
        end local 2 // java.util.Map params1
        end local 1 // javax.ws.rs.core.MediaType m2
        end local 0 // javax.ws.rs.core.MediaType m1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0          m1  Ljavax/ws/rs/core/MediaType;
            0   24     1          m2  Ljavax/ws/rs/core/MediaType;
            1   24     2     params1  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2   24     3     params2  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7   24     4  numParams1  I
            9   24     5  numParams2  I
           14   22     6       entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           15   22     8         key  Ljava/lang/String;
           17   22     9       value  Ljava/lang/String;
           18   22    10      value2  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m1    
      m2    

  public static boolean isTextLike(javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.ws.rs.core.MediaType mediaType
         0: .line 274
            ldc "text"
            aload 0 /* mediaType */
            invokevirtual javax.ws.rs.core.MediaType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 4
         1: .line 275
            ldc "application"
            aload 0 /* mediaType */
            invokevirtual javax.ws.rs.core.MediaType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 276
            aload 0 /* mediaType */
            invokevirtual javax.ws.rs.core.MediaType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            ldc "xml"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         3: .line 274
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // javax.ws.rs.core.MediaType mediaType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  mediaType  Ljavax/ws/rs/core/MediaType;
    MethodParameters:
           Name  Flags
      mediaType  

  public static boolean isBlacklisted(javax.ws.rs.core.MediaType);
    descriptor: (Ljavax/ws/rs/core/MediaType;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.ws.rs.core.MediaType mediaType
         0: .line 281
            ldc "application"
            aload 0 /* mediaType */
            invokevirtual javax.ws.rs.core.MediaType.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            ldc "signed-exchange"
            aload 0 /* mediaType */
            invokevirtual javax.ws.rs.core.MediaType.getSubtype:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // javax.ws.rs.core.MediaType mediaType
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  mediaType  Ljavax/ws/rs/core/MediaType;
    MethodParameters:
           Name  Flags
      mediaType  
}
SourceFile: "MediaTypeHelper.java"
NestMembers:
  org.jboss.resteasy.util.MediaTypeHelper$MediaTypeComparator
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private MediaTypeComparator = org.jboss.resteasy.util.MediaTypeHelper$MediaTypeComparator of org.jboss.resteasy.util.MediaTypeHelper