abstract class com.sun.jmx.mbeanserver.MBeanIntrospector<M>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.jmx.mbeanserver.MBeanIntrospector
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;

  abstract com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap<M> getPerInterfaceMap();
    descriptor: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap;
    flags: (0x0400) ACC_ABSTRACT
    Signature: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap<TM;>;

  abstract com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap getMBeanInfoMap();
    descriptor: ()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$MBeanInfoMap;
    flags: (0x0400) ACC_ABSTRACT

  abstract com.sun.jmx.mbeanserver.MBeanAnalyzer<M> getAnalyzer(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/MBeanAnalyzer;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws javax.management.NotCompliantMBeanException
    Signature: (Ljava/lang/Class<*>;)Lcom/sun/jmx/mbeanserver/MBeanAnalyzer<TM;>;
    MethodParameters:
                Name  Flags
      mbeanInterface  

  abstract boolean isMXBean();
    descriptor: ()Z
    flags: (0x0400) ACC_ABSTRACT

  abstract M mFrom(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/lang/reflect/Method;)TM;
    MethodParameters:
      Name  Flags
      m     

  abstract java.lang.String getName(M);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TM;)Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m     

  abstract java.lang.reflect.Type getGenericReturnType(M);
    descriptor: (Ljava/lang/Object;)Ljava/lang/reflect/Type;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TM;)Ljava/lang/reflect/Type;
    MethodParameters:
      Name  Flags
      m     

  abstract java.lang.reflect.Type[] getGenericParameterTypes(M);
    descriptor: (Ljava/lang/Object;)[Ljava/lang/reflect/Type;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TM;)[Ljava/lang/reflect/Type;
    MethodParameters:
      Name  Flags
      m     

  abstract java.lang.String[] getSignature(M);
    descriptor: (Ljava/lang/Object;)[Ljava/lang/String;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TM;)[Ljava/lang/String;
    MethodParameters:
      Name  Flags
      m     

  abstract void checkMethod();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TM;)V
    MethodParameters:
      Name  Flags
      m     

  abstract  invokeM2(M, , [], );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException, javax.management.MBeanException
    Signature: (TM;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      m       
      target  
      args    
      cookie  

  abstract boolean validParameter(M, , int, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Z
    flags: (0x0400) ACC_ABSTRACT
    Signature: (TM;Ljava/lang/Object;ILjava/lang/Object;)Z
    MethodParameters:
         Name  Flags
      m        
      value    
      paramNo  
      cookie   

  abstract javax.management.MBeanAttributeInfo getMBeanAttributeInfo(java.lang.String, M, M);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Ljavax/management/MBeanAttributeInfo;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/lang/String;TM;TM;)Ljavax/management/MBeanAttributeInfo;
    MethodParameters:
               Name  Flags
      attributeName  
      getter         
      setter         

  abstract javax.management.MBeanOperationInfo getMBeanOperationInfo(java.lang.String, M);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)Ljavax/management/MBeanOperationInfo;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/lang/String;TM;)Ljavax/management/MBeanOperationInfo;
    MethodParameters:
               Name  Flags
      operationName  
      operation      

  abstract javax.management.Descriptor getBasicMBeanDescriptor();
    descriptor: ()Ljavax/management/Descriptor;
    flags: (0x0400) ACC_ABSTRACT

  abstract javax.management.Descriptor getMBeanDescriptor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljavax/management/Descriptor;
    flags: (0x0400) ACC_ABSTRACT
    Signature: (Ljava/lang/Class<*>;)Ljavax/management/Descriptor;
    MethodParameters:
               Name  Flags
      resourceClass  

  final java.util.List<java.lang.reflect.Method> getMethods(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.Class mbeanType
         0: .line 180
            aload 1 /* mbeanType */
            invokestatic sun.reflect.misc.ReflectUtil.checkPackageAccess:(Ljava/lang/Class;)V
         1: .line 181
            aload 1 /* mbeanType */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 1 // java.lang.Class mbeanType
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0    2     1  mbeanType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/util/List<Ljava/lang/reflect/Method;>;
    MethodParameters:
           Name  Flags
      mbeanType  final

  final com.sun.jmx.mbeanserver.PerInterface<M> getPerInterface(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/PerInterface;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.Class mbeanInterface
         0: .line 186
            aload 0 /* this */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getPerInterfaceMap:()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap;
            astore 2 /* map */
        start local 2 // com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap map
         1: .line 187
            aload 2 /* map */
            dup
            astore 3
            monitorenter
         2: .line 188
            aload 2 /* map */
            aload 1 /* mbeanInterface */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ref.WeakReference
            astore 4 /* wr */
        start local 4 // java.lang.ref.WeakReference wr
         3: .line 189
            aload 4 /* wr */
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap java.lang.ref.WeakReference
      StackMap stack:
         4: aload 4 /* wr */
            invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
            checkcast com.sun.jmx.mbeanserver.PerInterface
      StackMap locals:
      StackMap stack: com.sun.jmx.mbeanserver.PerInterface
         5: astore 5 /* pi */
        start local 5 // com.sun.jmx.mbeanserver.PerInterface pi
         6: .line 190
            aload 5 /* pi */
            ifnonnull 18
         7: .line 192
            aload 0 /* this */
            aload 1 /* mbeanInterface */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getAnalyzer:(Ljava/lang/Class;)Lcom/sun/jmx/mbeanserver/MBeanAnalyzer;
            astore 6 /* analyzer */
        start local 6 // com.sun.jmx.mbeanserver.MBeanAnalyzer analyzer
         8: .line 194
            aload 0 /* this */
            aload 1 /* mbeanInterface */
            aload 6 /* analyzer */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.makeInterfaceMBeanInfo:(Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MBeanAnalyzer;)Ljavax/management/MBeanInfo;
         9: .line 193
            astore 7 /* mbeanInfo */
        start local 7 // javax.management.MBeanInfo mbeanInfo
        10: .line 195
            new com.sun.jmx.mbeanserver.PerInterface
            dup
            aload 1 /* mbeanInterface */
            aload 0 /* this */
            aload 6 /* analyzer */
        11: .line 196
            aload 7 /* mbeanInfo */
        12: .line 195
            invokespecial com.sun.jmx.mbeanserver.PerInterface.<init>:(Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MBeanIntrospector;Lcom/sun/jmx/mbeanserver/MBeanAnalyzer;Ljavax/management/MBeanInfo;)V
            astore 5 /* pi */
        13: .line 197
            new java.lang.ref.WeakReference
            dup
            aload 5 /* pi */
            invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
            astore 4 /* wr */
        14: .line 198
            aload 2 /* map */
            aload 1 /* mbeanInterface */
            aload 4 /* wr */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // javax.management.MBeanInfo mbeanInfo
        end local 6 // com.sun.jmx.mbeanserver.MBeanAnalyzer analyzer
        15: .line 199
            goto 18
      StackMap locals: com.sun.jmx.mbeanserver.MBeanIntrospector java.lang.Class com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap java.lang.ref.WeakReference com.sun.jmx.mbeanserver.PerInterface
      StackMap stack: java.lang.Exception
        16: astore 6 /* x */
        start local 6 // java.lang.Exception x
        17: .line 200
            aload 1 /* mbeanInterface */
            aload 6 /* x */
            invokestatic com.sun.jmx.mbeanserver.Introspector.throwException:(Ljava/lang/Class;Ljava/lang/Throwable;)Ljavax/management/NotCompliantMBeanException;
            athrow
        end local 6 // java.lang.Exception x
        18: .line 203
      StackMap locals:
      StackMap stack:
            aload 5 /* pi */
            aload 3
            monitorexit
        19: areturn
        end local 5 // com.sun.jmx.mbeanserver.PerInterface pi
        end local 4 // java.lang.ref.WeakReference wr
        20: .line 187
      StackMap locals: com.sun.jmx.mbeanserver.MBeanIntrospector java.lang.Class com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        21: athrow
        end local 2 // com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap map
        end local 1 // java.lang.Class mbeanInterface
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0   22     1  mbeanInterface  Ljava/lang/Class<*>;
            1   22     2             map  Lcom/sun/jmx/mbeanserver/MBeanIntrospector$PerInterfaceMap<TM;>;
            3   20     4              wr  Ljava/lang/ref/WeakReference<Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;>;
            6   20     5              pi  Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;
            8   15     6        analyzer  Lcom/sun/jmx/mbeanserver/MBeanAnalyzer<TM;>;
           10   15     7       mbeanInfo  Ljavax/management/MBeanInfo;
           17   18     6               x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7    15      16  Class java.lang.Exception
           2    19      20  any
          20    21      20  any
    Exceptions:
      throws javax.management.NotCompliantMBeanException
    Signature: (Ljava/lang/Class<*>;)Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;
    MethodParameters:
                Name  Flags
      mbeanInterface  

  private javax.management.MBeanInfo makeInterfaceMBeanInfo(java.lang.Class<?>, com.sun.jmx.mbeanserver.MBeanAnalyzer<M>);
    descriptor: (Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/MBeanAnalyzer;)Ljavax/management/MBeanInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.Class mbeanInterface
        start local 2 // com.sun.jmx.mbeanserver.MBeanAnalyzer analyzer
         0: .line 217
            new com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker
            dup
            aload 0 /* this */
            invokespecial com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker.<init>:(Lcom/sun/jmx/mbeanserver/MBeanIntrospector;)V
            astore 3 /* maker */
        start local 3 // com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker maker
         1: .line 218
            aload 2 /* analyzer */
            aload 3 /* maker */
            invokevirtual com.sun.jmx.mbeanserver.MBeanAnalyzer.visit:(Lcom/sun/jmx/mbeanserver/MBeanAnalyzer$MBeanVisitor;)V
         2: .line 221
            aload 3 /* maker */
            aload 1 /* mbeanInterface */
            ldc "Information on the management interface of the MBean"
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker.makeMBeanInfo:(Ljava/lang/Class;Ljava/lang/String;)Ljavax/management/MBeanInfo;
            areturn
        end local 3 // com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker maker
        end local 2 // com.sun.jmx.mbeanserver.MBeanAnalyzer analyzer
        end local 1 // java.lang.Class mbeanInterface
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0    3     1  mbeanInterface  Ljava/lang/Class<*>;
            0    3     2        analyzer  Lcom/sun/jmx/mbeanserver/MBeanAnalyzer<TM;>;
            1    3     3           maker  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>.MBeanInfoMaker;
    Signature: (Ljava/lang/Class<*>;Lcom/sun/jmx/mbeanserver/MBeanAnalyzer<TM;>;)Ljavax/management/MBeanInfo;
    MethodParameters:
                Name  Flags
      mbeanInterface  
      analyzer        

  final boolean consistent(M, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.Object getter
        start local 2 // java.lang.Object setter
         0: .line 226
            aload 1 /* getter */
            ifnull 3
            aload 2 /* setter */
            ifnull 3
         1: .line 227
            aload 0 /* this */
            aload 1 /* getter */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getGenericReturnType:(Ljava/lang/Object;)Ljava/lang/reflect/Type;
            aload 0 /* this */
            aload 2 /* setter */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getGenericParameterTypes:(Ljava/lang/Object;)[Ljava/lang/reflect/Type;
            iconst_0
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 226
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 2 // java.lang.Object setter
        end local 1 // java.lang.Object getter
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0    4     1  getter  TM;
            0    4     2  setter  TM;
    Signature: (TM;TM;)Z
    MethodParameters:
        Name  Flags
      getter  
      setter  

  final  invokeM(M, , [], );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.Object m
        start local 2 // java.lang.Object target
        start local 3 // java.lang.Object[] args
        start local 4 // java.lang.Object cookie
         0: .line 237
            aload 0 /* this */
            aload 1 /* m */
            aload 2 /* target */
            aload 3 /* args */
            aload 4 /* cookie */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM2:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 238
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 5 /* e */
        start local 5 // java.lang.reflect.InvocationTargetException e
         3: .line 239
            aload 5 /* e */
            invokestatic com.sun.jmx.mbeanserver.MBeanIntrospector.unwrapInvocationTargetException:(Ljava/lang/reflect/InvocationTargetException;)V
         4: .line 240
            new java.lang.RuntimeException
            dup
            aload 5 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.reflect.InvocationTargetException e
         5: .line 241
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 5 /* e */
        start local 5 // java.lang.IllegalAccessException e
         6: .line 242
            new javax.management.ReflectionException
            dup
            aload 5 /* e */
            aload 5 /* e */
            invokevirtual java.lang.IllegalAccessException.toString:()Ljava/lang/String;
            invokespecial javax.management.ReflectionException.<init>:(Ljava/lang/Exception;Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.IllegalAccessException e
        end local 4 // java.lang.Object cookie
        end local 3 // java.lang.Object[] args
        end local 2 // java.lang.Object target
        end local 1 // java.lang.Object m
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0    7     1       m  TM;
            0    7     2  target  Ljava/lang/Object;
            0    7     3    args  [Ljava/lang/Object;
            0    7     4  cookie  Ljava/lang/Object;
            3    5     5       e  Ljava/lang/reflect/InvocationTargetException;
            6    7     5       e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.reflect.InvocationTargetException
           0     1       5  Class java.lang.IllegalAccessException
    Exceptions:
      throws javax.management.MBeanException, javax.management.ReflectionException
    Signature: (TM;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      m       
      target  
      args    
      cookie  

  final void invokeSetter(java.lang.String, M, , , );
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object setter
        start local 3 // java.lang.Object target
        start local 4 // java.lang.Object arg
        start local 5 // java.lang.Object cookie
         0: .line 267
            aload 0 /* this */
            aload 2 /* setter */
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* arg */
            aastore
            aload 5 /* cookie */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM2:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 268
            goto 10
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
         2: astore 6 /* e */
        start local 6 // java.lang.IllegalAccessException e
         3: .line 269
            new javax.management.ReflectionException
            dup
            aload 6 /* e */
            aload 6 /* e */
            invokevirtual java.lang.IllegalAccessException.toString:()Ljava/lang/String;
            invokespecial javax.management.ReflectionException.<init>:(Ljava/lang/Exception;Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.IllegalAccessException e
         4: .line 270
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 6 /* e */
        start local 6 // java.lang.RuntimeException e
         5: .line 271
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* setter */
            aload 4 /* arg */
            aload 5 /* cookie */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.maybeInvalidParameter:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 272
            aload 6 /* e */
            athrow
        end local 6 // java.lang.RuntimeException e
         7: .line 273
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 6 /* e */
        start local 6 // java.lang.reflect.InvocationTargetException e
         8: .line 274
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* setter */
            aload 4 /* arg */
            aload 5 /* cookie */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.maybeInvalidParameter:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 275
            aload 6 /* e */
            invokestatic com.sun.jmx.mbeanserver.MBeanIntrospector.unwrapInvocationTargetException:(Ljava/lang/reflect/InvocationTargetException;)V
        end local 6 // java.lang.reflect.InvocationTargetException e
        10: .line 277
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Object cookie
        end local 4 // java.lang.Object arg
        end local 3 // java.lang.Object target
        end local 2 // java.lang.Object setter
        end local 1 // java.lang.String name
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0   11     1    name  Ljava/lang/String;
            0   11     2  setter  TM;
            0   11     3  target  Ljava/lang/Object;
            0   11     4     arg  Ljava/lang/Object;
            0   11     5  cookie  Ljava/lang/Object;
            3    4     6       e  Ljava/lang/IllegalAccessException;
            5    7     6       e  Ljava/lang/RuntimeException;
            8   10     6       e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.RuntimeException
           0     1       7  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws javax.management.MBeanException, javax.management.ReflectionException, javax.management.InvalidAttributeValueException
    Signature: (Ljava/lang/String;TM;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    MethodParameters:
        Name  Flags
      name    
      setter  
      target  
      arg     
      cookie  

  private void maybeInvalidParameter(java.lang.String, M, , );
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object setter
        start local 3 // java.lang.Object arg
        start local 4 // java.lang.Object cookie
         0: .line 282
            aload 0 /* this */
            aload 2 /* setter */
            aload 3 /* arg */
            iconst_0
            aload 4 /* cookie */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.validParameter:(Ljava/lang/Object;Ljava/lang/Object;ILjava/lang/Object;)Z
            ifne 4
         1: .line 284
            new java.lang.StringBuilder
            dup
            ldc "Invalid value for attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         2: .line 283
            astore 5 /* msg */
        start local 5 // java.lang.String msg
         3: .line 285
            new javax.management.InvalidAttributeValueException
            dup
            aload 5 /* msg */
            invokespecial javax.management.InvalidAttributeValueException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String msg
         4: .line 287
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Object cookie
        end local 3 // java.lang.Object arg
        end local 2 // java.lang.Object setter
        end local 1 // java.lang.String name
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0    5     1    name  Ljava/lang/String;
            0    5     2  setter  TM;
            0    5     3     arg  Ljava/lang/Object;
            0    5     4  cookie  Ljava/lang/Object;
            3    4     5     msg  Ljava/lang/String;
    Exceptions:
      throws javax.management.InvalidAttributeValueException
    Signature: (Ljava/lang/String;TM;Ljava/lang/Object;Ljava/lang/Object;)V
    MethodParameters:
        Name  Flags
      name    
      setter  
      arg     
      cookie  

  static boolean isValidParameter(java.lang.reflect.Method, java.lang.Object, int);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;I)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.reflect.Method m
        start local 1 // java.lang.Object value
        start local 2 // int paramNo
         0: .line 290
            aload 0 /* m */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            iload 2 /* paramNo */
            aaload
            astore 3 /* c */
        start local 3 // java.lang.Class c
         1: .line 295
            aload 3 /* c */
            iconst_1
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 4 /* a */
        start local 4 // java.lang.Object a
         2: .line 296
            aload 4 /* a */
            iconst_0
            aload 1 /* value */
            invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
         3: .line 297
            iconst_1
            ireturn
        end local 4 // java.lang.Object a
         4: .line 298
      StackMap locals: java.lang.reflect.Method java.lang.Object int java.lang.Class
      StackMap stack: java.lang.IllegalArgumentException
            pop
         5: .line 299
            iconst_0
            ireturn
        end local 3 // java.lang.Class c
        end local 2 // int paramNo
        end local 1 // java.lang.Object value
        end local 0 // java.lang.reflect.Method m
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0        m  Ljava/lang/reflect/Method;
            0    6     1    value  Ljava/lang/Object;
            0    6     2  paramNo  I
            1    6     3        c  Ljava/lang/Class<*>;
            2    4     4        a  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.IllegalArgumentException
    MethodParameters:
         Name  Flags
      m        
      value    
      paramNo  

  private static void unwrapInvocationTargetException(java.lang.reflect.InvocationTargetException);
    descriptor: (Ljava/lang/reflect/InvocationTargetException;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.reflect.InvocationTargetException e
         0: .line 306
            aload 0 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
         1: .line 307
            aload 1 /* t */
            instanceof java.lang.RuntimeException
            ifeq 3
         2: .line 308
            aload 1 /* t */
            checkcast java.lang.RuntimeException
            athrow
         3: .line 309
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 1 /* t */
            instanceof java.lang.Error
            ifeq 5
         4: .line 310
            aload 1 /* t */
            checkcast java.lang.Error
            athrow
         5: .line 312
      StackMap locals:
      StackMap stack:
            new javax.management.MBeanException
            dup
            aload 1 /* t */
            checkcast java.lang.Exception
         6: .line 313
            aload 1 /* t */
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack: new 5 new 5 java.lang.Exception
         7: aload 1 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
         8: .line 312
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.Throwable
      StackMap stack: new 5 new 5 java.lang.Exception java.lang.String
            invokespecial javax.management.MBeanException.<init>:(Ljava/lang/Exception;Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.reflect.InvocationTargetException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     e  Ljava/lang/reflect/InvocationTargetException;
            1    9     1     t  Ljava/lang/Throwable;
    Exceptions:
      throws javax.management.MBeanException
    MethodParameters:
      Name  Flags
      e     

  final javax.management.MBeanInfo getMBeanInfo(, com.sun.jmx.mbeanserver.PerInterface<M>);
    descriptor: (Ljava/lang/Object;Lcom/sun/jmx/mbeanserver/PerInterface;)Ljavax/management/MBeanInfo;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.Object resource
        start local 2 // com.sun.jmx.mbeanserver.PerInterface perInterface
         0: .line 392
            aload 0 /* this */
            aload 1 /* resource */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 2 /* perInterface */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo:(Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/PerInterface;)Ljavax/management/MBeanInfo;
         1: .line 391
            astore 3 /* mbi */
        start local 3 // javax.management.MBeanInfo mbi
         2: .line 393
            aload 1 /* resource */
            invokestatic com.sun.jmx.mbeanserver.MBeanIntrospector.findNotifications:(Ljava/lang/Object;)[Ljavax/management/MBeanNotificationInfo;
            astore 4 /* notifs */
        start local 4 // javax.management.MBeanNotificationInfo[] notifs
         3: .line 394
            aload 4 /* notifs */
            ifnull 4
            aload 4 /* notifs */
            arraylength
            ifne 5
         4: .line 395
      StackMap locals: javax.management.MBeanInfo javax.management.MBeanNotificationInfo[]
      StackMap stack:
            aload 3 /* mbi */
            areturn
         5: .line 397
      StackMap locals:
      StackMap stack:
            new javax.management.MBeanInfo
            dup
            aload 3 /* mbi */
            invokevirtual javax.management.MBeanInfo.getClassName:()Ljava/lang/String;
         6: .line 398
            aload 3 /* mbi */
            invokevirtual javax.management.MBeanInfo.getDescription:()Ljava/lang/String;
         7: .line 399
            aload 3 /* mbi */
            invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
         8: .line 400
            aload 3 /* mbi */
            invokevirtual javax.management.MBeanInfo.getConstructors:()[Ljavax/management/MBeanConstructorInfo;
         9: .line 401
            aload 3 /* mbi */
            invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
        10: .line 402
            aload 4 /* notifs */
        11: .line 403
            aload 3 /* mbi */
            invokevirtual javax.management.MBeanInfo.getDescriptor:()Ljavax/management/Descriptor;
        12: .line 397
            invokespecial javax.management.MBeanInfo.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljavax/management/MBeanAttributeInfo;[Ljavax/management/MBeanConstructorInfo;[Ljavax/management/MBeanOperationInfo;[Ljavax/management/MBeanNotificationInfo;Ljavax/management/Descriptor;)V
            areturn
        end local 4 // javax.management.MBeanNotificationInfo[] notifs
        end local 3 // javax.management.MBeanInfo mbi
        end local 2 // com.sun.jmx.mbeanserver.PerInterface perInterface
        end local 1 // java.lang.Object resource
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0   13     1      resource  Ljava/lang/Object;
            0   13     2  perInterface  Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;
            2   13     3           mbi  Ljavax/management/MBeanInfo;
            3   13     4        notifs  [Ljavax/management/MBeanNotificationInfo;
    Signature: (Ljava/lang/Object;Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;)Ljavax/management/MBeanInfo;
    MethodParameters:
              Name  Flags
      resource      
      perInterface  

  final javax.management.MBeanInfo getClassMBeanInfo(java.lang.Class<?>, com.sun.jmx.mbeanserver.PerInterface<M>);
    descriptor: (Ljava/lang/Class;Lcom/sun/jmx/mbeanserver/PerInterface;)Ljavax/management/MBeanInfo;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=9, locals=10, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
        start local 1 // java.lang.Class resourceClass
        start local 2 // com.sun.jmx.mbeanserver.PerInterface perInterface
         0: .line 416
            aload 0 /* this */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfoMap:()Lcom/sun/jmx/mbeanserver/MBeanIntrospector$MBeanInfoMap;
            astore 3 /* map */
        start local 3 // com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap map
         1: .line 417
            aload 3 /* map */
            dup
            astore 4
            monitorenter
         2: .line 418
            aload 3 /* map */
            aload 1 /* resourceClass */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.WeakHashMap
            astore 5 /* intfMap */
        start local 5 // java.util.WeakHashMap intfMap
         3: .line 419
            aload 5 /* intfMap */
            ifnonnull 6
         4: .line 420
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            astore 5 /* intfMap */
         5: .line 421
            aload 3 /* map */
            aload 1 /* resourceClass */
            aload 5 /* intfMap */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 423
      StackMap locals: com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap java.util.WeakHashMap
      StackMap stack:
            aload 2 /* perInterface */
            invokevirtual com.sun.jmx.mbeanserver.PerInterface.getMBeanInterface:()Ljava/lang/Class;
            astore 6 /* intfClass */
        start local 6 // java.lang.Class intfClass
         7: .line 424
            aload 5 /* intfMap */
            aload 6 /* intfClass */
            invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.MBeanInfo
            astore 7 /* mbi */
        start local 7 // javax.management.MBeanInfo mbi
         8: .line 425
            aload 7 /* mbi */
            ifnonnull 23
         9: .line 426
            aload 2 /* perInterface */
            invokevirtual com.sun.jmx.mbeanserver.PerInterface.getMBeanInfo:()Ljavax/management/MBeanInfo;
            astore 8 /* imbi */
        start local 8 // javax.management.MBeanInfo imbi
        10: .line 427
            iconst_2
            anewarray javax.management.Descriptor
            dup
            iconst_0
        11: .line 428
            aload 8 /* imbi */
            invokevirtual javax.management.MBeanInfo.getDescriptor:()Ljavax/management/Descriptor;
            aastore
            dup
            iconst_1
        12: .line 429
            aload 0 /* this */
            aload 1 /* resourceClass */
            invokevirtual com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanDescriptor:(Ljava/lang/Class;)Ljavax/management/Descriptor;
            aastore
        13: .line 428
            invokestatic javax.management.ImmutableDescriptor.union:([Ljavax/management/Descriptor;)Ljavax/management/ImmutableDescriptor;
            astore 9 /* descriptor */
        start local 9 // javax.management.Descriptor descriptor
        14: .line 430
            new javax.management.MBeanInfo
            dup
            aload 1 /* resourceClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        15: .line 431
            aload 8 /* imbi */
            invokevirtual javax.management.MBeanInfo.getDescription:()Ljava/lang/String;
        16: .line 432
            aload 8 /* imbi */
            invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
        17: .line 433
            aload 1 /* resourceClass */
            invokestatic com.sun.jmx.mbeanserver.MBeanIntrospector.findConstructors:(Ljava/lang/Class;)[Ljavax/management/MBeanConstructorInfo;
        18: .line 434
            aload 8 /* imbi */
            invokevirtual javax.management.MBeanInfo.getOperations:()[Ljavax/management/MBeanOperationInfo;
        19: .line 435
            aconst_null
        20: .line 436
            aload 9 /* descriptor */
        21: .line 430
            invokespecial javax.management.MBeanInfo.<init>:(Ljava/lang/String;Ljava/lang/String;[Ljavax/management/MBeanAttributeInfo;[Ljavax/management/MBeanConstructorInfo;[Ljavax/management/MBeanOperationInfo;[Ljavax/management/MBeanNotificationInfo;Ljavax/management/Descriptor;)V
            astore 7 /* mbi */
        22: .line 437
            aload 5 /* intfMap */
            aload 6 /* intfClass */
            aload 7 /* mbi */
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // javax.management.Descriptor descriptor
        end local 8 // javax.management.MBeanInfo imbi
        23: .line 439
      StackMap locals: java.lang.Class javax.management.MBeanInfo
      StackMap stack:
            aload 7 /* mbi */
            aload 4
            monitorexit
        24: areturn
        end local 7 // javax.management.MBeanInfo mbi
        end local 6 // java.lang.Class intfClass
        end local 5 // java.util.WeakHashMap intfMap
        25: .line 417
      StackMap locals: com.sun.jmx.mbeanserver.MBeanIntrospector java.lang.Class com.sun.jmx.mbeanserver.PerInterface com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        26: athrow
        end local 3 // com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap map
        end local 2 // com.sun.jmx.mbeanserver.PerInterface perInterface
        end local 1 // java.lang.Class resourceClass
        end local 0 // com.sun.jmx.mbeanserver.MBeanIntrospector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Lcom/sun/jmx/mbeanserver/MBeanIntrospector<TM;>;
            0   27     1  resourceClass  Ljava/lang/Class<*>;
            0   27     2   perInterface  Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;
            1   27     3            map  Lcom/sun/jmx/mbeanserver/MBeanIntrospector$MBeanInfoMap;
            3   25     5        intfMap  Ljava/util/WeakHashMap<Ljava/lang/Class<*>;Ljavax/management/MBeanInfo;>;
            7   25     6      intfClass  Ljava/lang/Class<*>;
            8   25     7            mbi  Ljavax/management/MBeanInfo;
           10   23     8           imbi  Ljavax/management/MBeanInfo;
           14   23     9     descriptor  Ljavax/management/Descriptor;
      Exception table:
        from    to  target  type
           2    24      25  any
          25    26      25  any
    Signature: (Ljava/lang/Class<*>;Lcom/sun/jmx/mbeanserver/PerInterface<TM;>;)Ljavax/management/MBeanInfo;
    MethodParameters:
               Name  Flags
      resourceClass  
      perInterface   

  static javax.management.MBeanNotificationInfo[] findNotifications(java.lang.Object);
    descriptor: (Ljava/lang/Object;)[Ljavax/management/MBeanNotificationInfo;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.Object moi
         0: .line 444
            aload 0 /* moi */
            instanceof javax.management.NotificationBroadcaster
            ifne 2
         1: .line 445
            aconst_null
            areturn
         2: .line 447
      StackMap locals:
      StackMap stack:
            aload 0 /* moi */
            checkcast javax.management.NotificationBroadcaster
            invokeinterface javax.management.NotificationBroadcaster.getNotificationInfo:()[Ljavax/management/MBeanNotificationInfo;
         3: .line 446
            astore 1 /* mbn */
        start local 1 // javax.management.MBeanNotificationInfo[] mbn
         4: .line 448
            aload 1 /* mbn */
            ifnonnull 6
         5: .line 449
            aconst_null
            areturn
         6: .line 451
      StackMap locals: javax.management.MBeanNotificationInfo[]
      StackMap stack:
            aload 1 /* mbn */
            arraylength
            anewarray javax.management.MBeanNotificationInfo
         7: .line 450
            astore 2 /* result */
        start local 2 // javax.management.MBeanNotificationInfo[] result
         8: .line 452
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: goto 15
        10: .line 453
      StackMap locals: javax.management.MBeanNotificationInfo[] int
      StackMap stack:
            aload 1 /* mbn */
            iload 3 /* i */
            aaload
            astore 4 /* ni */
        start local 4 // javax.management.MBeanNotificationInfo ni
        11: .line 454
            aload 4 /* ni */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Ljavax/management/MBeanNotificationInfo;
            if_acmpeq 13
        12: .line 455
            aload 4 /* ni */
            invokevirtual javax.management.MBeanNotificationInfo.clone:()Ljava/lang/Object;
            checkcast javax.management.MBeanNotificationInfo
            astore 4 /* ni */
        13: .line 456
      StackMap locals: javax.management.MBeanNotificationInfo
      StackMap stack:
            aload 2 /* result */
            iload 3 /* i */
            aload 4 /* ni */
            aastore
        end local 4 // javax.management.MBeanNotificationInfo ni
        14: .line 452
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 1 /* mbn */
            arraylength
            if_icmplt 10
        end local 3 // int i
        16: .line 458
            aload 2 /* result */
            areturn
        end local 2 // javax.management.MBeanNotificationInfo[] result
        end local 1 // javax.management.MBeanNotificationInfo[] mbn
        end local 0 // java.lang.Object moi
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0     moi  Ljava/lang/Object;
            4   17     1     mbn  [Ljavax/management/MBeanNotificationInfo;
            8   17     2  result  [Ljavax/management/MBeanNotificationInfo;
            9   16     3       i  I
           11   14     4      ni  Ljavax/management/MBeanNotificationInfo;
    MethodParameters:
      Name  Flags
      moi   

  private static javax.management.MBeanConstructorInfo[] findConstructors(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)[Ljavax/management/MBeanConstructorInfo;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // java.lang.Class c
         0: .line 462
            aload 0 /* c */
            invokevirtual java.lang.Class.getConstructors:()[Ljava/lang/reflect/Constructor;
            astore 1 /* cons */
        start local 1 // java.lang.reflect.Constructor[] cons
         1: .line 463
            aload 1 /* cons */
            arraylength
            anewarray javax.management.MBeanConstructorInfo
            astore 2 /* mbc */
        start local 2 // javax.management.MBeanConstructorInfo[] mbc
         2: .line 464
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 466
      StackMap locals: java.lang.reflect.Constructor[] javax.management.MBeanConstructorInfo[] int
      StackMap stack:
            aload 2 /* mbc */
            iload 3 /* i */
            new javax.management.MBeanConstructorInfo
            dup
            ldc "Public constructor of the MBean"
            aload 1 /* cons */
            iload 3 /* i */
            aaload
            invokespecial javax.management.MBeanConstructorInfo.<init>:(Ljava/lang/String;Ljava/lang/reflect/Constructor;)V
            aastore
         5: .line 464
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* cons */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 468
            aload 2 /* mbc */
            areturn
        end local 2 // javax.management.MBeanConstructorInfo[] mbc
        end local 1 // java.lang.reflect.Constructor[] cons
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     c  Ljava/lang/Class<*>;
            1    8     1  cons  [Ljava/lang/reflect/Constructor;
            2    8     2   mbc  [Ljavax/management/MBeanConstructorInfo;
            3    7     3     i  I
    Signature: (Ljava/lang/Class<*>;)[Ljavax/management/MBeanConstructorInfo;
    MethodParameters:
      Name  Flags
      c     
}
Signature: <M:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "MBeanIntrospector.java"
NestMembers:
  com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker  com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap  com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap
InnerClasses:
  abstract MBeanVisitor = com.sun.jmx.mbeanserver.MBeanAnalyzer$MBeanVisitor of com.sun.jmx.mbeanserver.MBeanAnalyzer
  private MBeanInfoMaker = com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMaker of com.sun.jmx.mbeanserver.MBeanIntrospector
  MBeanInfoMap = com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap of com.sun.jmx.mbeanserver.MBeanIntrospector
  final PerInterfaceMap = com.sun.jmx.mbeanserver.MBeanIntrospector$PerInterfaceMap of com.sun.jmx.mbeanserver.MBeanIntrospector