public class com.sun.jmx.mbeanserver.Util
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.jmx.mbeanserver.Util
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.Util this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.jmx.mbeanserver.Util this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/Util;

  public static javax.management.ObjectName newObjectName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/management/ObjectName;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String string
         0: .line 48
            new javax.management.ObjectName
            dup
            aload 0 /* string */
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
         1: areturn
         2: .line 49
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
            astore 1 /* e */
        start local 1 // javax.management.MalformedObjectNameException e
         3: .line 50
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // javax.management.MalformedObjectNameException e
        end local 0 // java.lang.String string
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  string  Ljava/lang/String;
            3    4     1       e  Ljavax/management/MalformedObjectNameException;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.management.MalformedObjectNameException
    MethodParameters:
        Name  Flags
      string  

  static <K, V> java.util.Map<K, V> newMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 55
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/Map<TK;TV;>;

  static <K, V> java.util.Map<K, V> newSynchronizedMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 59
            invokestatic com.sun.jmx.mbeanserver.Util.newMap:()Ljava/util/Map;
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/Map<TK;TV;>;

  static <K, V> java.util.IdentityHashMap<K, V> newIdentityHashMap();
    descriptor: ()Ljava/util/IdentityHashMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 63
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/IdentityHashMap<TK;TV;>;

  static <K, V> java.util.Map<K, V> newSynchronizedIdentityHashMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 67
            invokestatic com.sun.jmx.mbeanserver.Util.newIdentityHashMap:()Ljava/util/IdentityHashMap;
            astore 0 /* map */
        start local 0 // java.util.Map map
         1: .line 68
            aload 0 /* map */
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0   map  Ljava/util/Map<TK;TV;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/Map<TK;TV;>;

  static <K, V> java.util.SortedMap<K, V> newSortedMap();
    descriptor: ()Ljava/util/SortedMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 72
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/SortedMap<TK;TV;>;

  static <K, V> java.util.SortedMap<K, V> newSortedMap(java.util.Comparator<? super K>);
    descriptor: (Ljava/util/Comparator;)Ljava/util/SortedMap;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Comparator comp
         0: .line 76
            new java.util.TreeMap
            dup
            aload 0 /* comp */
            invokespecial java.util.TreeMap.<init>:(Ljava/util/Comparator;)V
            areturn
        end local 0 // java.util.Comparator comp
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  comp  Ljava/util/Comparator<-TK;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/util/Comparator<-TK;>;)Ljava/util/SortedMap<TK;TV;>;
    MethodParameters:
      Name  Flags
      comp  

  static <K, V> java.util.Map<K, V> newInsertionOrderMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 80
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>()Ljava/util/Map<TK;TV;>;

  static <E> java.util.Set<E> newSet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 84
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/Set<TE;>;

  static <E> java.util.Set<E> newSet(java.util.Collection<E>);
    descriptor: (Ljava/util/Collection;)Ljava/util/Set;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 88
            new java.util.HashSet
            dup
            aload 0 /* c */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/util/Collection<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;)Ljava/util/Set<TE;>;
    MethodParameters:
      Name  Flags
      c     

  static <E> java.util.List<E> newList();
    descriptor: ()Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 92
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <E:Ljava/lang/Object;>()Ljava/util/List<TE;>;

  static <E> java.util.List<E> newList(java.util.Collection<E>);
    descriptor: (Ljava/util/Collection;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.Collection c
         0: .line 96
            new java.util.ArrayList
            dup
            aload 0 /* c */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // java.util.Collection c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/util/Collection<TE;>;
    Signature: <E:Ljava/lang/Object;>(Ljava/util/Collection<TE;>;)Ljava/util/List<TE;>;
    MethodParameters:
      Name  Flags
      c     

  public static <T> T cast();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object x
         0: .line 110
            aload 0 /* x */
            areturn
        end local 0 // java.lang.Object x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Object;)TT;
    MethodParameters:
      Name  Flags
      x     

  public static int hashCode(java.lang.String[], java.lang.Object[]);
    descriptor: ([Ljava/lang/String;[Ljava/lang/Object;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // java.lang.String[] names
        start local 1 // java.lang.Object[] values
         0: .line 120
            iconst_0
            istore 2 /* hash */
        start local 2 // int hash
         1: .line 121
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 16
         3: .line 122
      StackMap locals: int int
      StackMap stack:
            aload 1 /* values */
            iload 3 /* i */
            aaload
            astore 4 /* v */
        start local 4 // java.lang.Object v
         4: .line 124
            aload 4 /* v */
            ifnonnull 7
         5: .line 125
            iconst_0
            istore 5 /* h */
        start local 5 // int h
         6: .line 126
            goto 14
        end local 5 // int h
      StackMap locals: java.lang.Object
      StackMap stack:
         7: aload 4 /* v */
            instanceof java.lang.Object[]
            ifeq 10
         8: .line 127
            aload 4 /* v */
            checkcast java.lang.Object[]
            invokestatic java.util.Arrays.deepHashCode:([Ljava/lang/Object;)I
            istore 5 /* h */
        start local 5 // int h
         9: .line 128
            goto 14
        end local 5 // int h
      StackMap locals:
      StackMap stack:
        10: aload 4 /* v */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 13
        11: .line 129
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* v */
            aastore
            invokestatic java.util.Arrays.deepHashCode:([Ljava/lang/Object;)I
            bipush 31
            isub
            istore 5 /* h */
        start local 5 // int h
        12: .line 132
            goto 14
        end local 5 // int h
        13: .line 133
      StackMap locals:
      StackMap stack:
            aload 4 /* v */
            invokevirtual java.lang.Object.hashCode:()I
            istore 5 /* h */
        start local 5 // int h
        14: .line 135
      StackMap locals: int
      StackMap stack:
            iload 2 /* hash */
            aload 0 /* names */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            iload 5 /* h */
            ixor
            iadd
            istore 2 /* hash */
        end local 5 // int h
        end local 4 // java.lang.Object v
        15: .line 121
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 0 /* names */
            arraylength
            if_icmplt 3
        end local 3 // int i
        17: .line 137
            iload 2 /* hash */
            ireturn
        end local 2 // int hash
        end local 1 // java.lang.Object[] values
        end local 0 // java.lang.String[] names
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0   names  [Ljava/lang/String;
            0   18     1  values  [Ljava/lang/Object;
            1   18     2    hash  I
            2   17     3       i  I
            4   15     4       v  Ljava/lang/Object;
            6    7     5       h  I
            9   10     5       h  I
           12   13     5       h  I
           14   15     5       h  I
    MethodParameters:
        Name  Flags
      names   
      values  

  private static boolean wildmatch(java.lang.String, java.lang.String, int, int, int, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;IIII)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=6
        start local 0 // java.lang.String str
        start local 1 // java.lang.String pat
        start local 2 // int stri
        start local 3 // int strend
        start local 4 // int pati
        start local 5 // int patend
         0: .line 186
            iconst_m1
            dup
            istore 7 /* starpati */
        start local 7 // int starpati
         1: istore 6 /* starstri */
        start local 6 // int starstri
         2: .line 192
      StackMap locals: int int
      StackMap stack:
            iload 4 /* pati */
            iload 5 /* patend */
            if_icmpge 19
         3: .line 193
            aload 1 /* pat */
            iload 4 /* pati */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* patc */
        start local 8 // char patc
         4: .line 194
            iload 8 /* patc */
            lookupswitch { // 2
                   42: 10
                   63: 5
              default: 14
          }
         5: .line 196
      StackMap locals: int
      StackMap stack:
            iload 2 /* stri */
            iload 3 /* strend */
            if_icmpne 7
         6: .line 197
            goto 21
         7: .line 198
      StackMap locals:
      StackMap stack:
            iinc 2 /* stri */ 1
         8: .line 199
            iinc 4 /* pati */ 1
         9: .line 200
            goto 2
        10: .line 202
      StackMap locals:
      StackMap stack:
            iinc 4 /* pati */ 1
        11: .line 203
            iload 4 /* pati */
            istore 7 /* starpati */
        12: .line 204
            iload 2 /* stri */
            istore 6 /* starstri */
        13: .line 205
            goto 2
        14: .line 207
      StackMap locals:
      StackMap stack:
            iload 2 /* stri */
            iload 3 /* strend */
            if_icmpge 21
            aload 0 /* str */
            iload 2 /* stri */
            invokevirtual java.lang.String.charAt:(I)C
            iload 8 /* patc */
            if_icmpne 21
        15: .line 208
            iinc 2 /* stri */ 1
        16: .line 209
            iinc 4 /* pati */ 1
        17: .line 210
            goto 2
        end local 8 // char patc
        18: .line 214
      StackMap locals:
      StackMap stack:
            goto 21
      StackMap locals:
      StackMap stack:
        19: iload 2 /* stri */
            iload 3 /* strend */
            if_icmpne 21
        20: .line 215
            iconst_1
            ireturn
        21: .line 218
      StackMap locals:
      StackMap stack:
            iload 7 /* starpati */
            iflt 22
            iload 6 /* starstri */
            iload 3 /* strend */
            if_icmpne 23
        22: .line 219
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        23: .line 222
      StackMap locals:
      StackMap stack:
            iload 7 /* starpati */
            istore 4 /* pati */
        24: .line 223
            iinc 6 /* starstri */ 1
        25: .line 224
            iload 6 /* starstri */
            istore 2 /* stri */
        26: .line 191
            goto 2
        end local 7 // int starpati
        end local 6 // int starstri
        end local 5 // int patend
        end local 4 // int pati
        end local 3 // int strend
        end local 2 // int stri
        end local 1 // java.lang.String pat
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0       str  Ljava/lang/String;
            0   27     1       pat  Ljava/lang/String;
            0   27     2      stri  I
            0   27     3    strend  I
            0   27     4      pati  I
            0   27     5    patend  I
            2   27     6  starstri  I
            1   27     7  starpati  I
            4   18     8      patc  C
    MethodParameters:
        Name  Flags
      str     final
      pat     final
      stri    
      strend  final
      pati    
      patend  final

  public static boolean wildmatch(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String str
        start local 1 // java.lang.String pat
         0: .line 239
            aload 0 /* str */
            aload 1 /* pat */
            iconst_0
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            iconst_0
            aload 1 /* pat */
            invokevirtual java.lang.String.length:()I
            invokestatic com.sun.jmx.mbeanserver.Util.wildmatch:(Ljava/lang/String;Ljava/lang/String;IIII)Z
            ireturn
        end local 1 // java.lang.String pat
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  Ljava/lang/String;
            0    1     1   pat  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   
      pat   
}
SourceFile: "Util.java"