class javax.management.MBeanInfo$ArrayGettersSafeAction implements java.security.PrivilegedAction<java.lang.Boolean>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.management.MBeanInfo$ArrayGettersSafeAction
  super_class: java.lang.Object
{
  private final java.lang.Class<?> subclass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private final java.lang.Class<?> immutableClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  void <init>(java.lang.Class<?>, java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.management.MBeanInfo$ArrayGettersSafeAction this
        start local 1 // java.lang.Class subclass
        start local 2 // java.lang.Class immutableClass
         0: .line 573
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 574
            aload 0 /* this */
            aload 1 /* subclass */
            putfield javax.management.MBeanInfo$ArrayGettersSafeAction.subclass:Ljava/lang/Class;
         2: .line 575
            aload 0 /* this */
            aload 2 /* immutableClass */
            putfield javax.management.MBeanInfo$ArrayGettersSafeAction.immutableClass:Ljava/lang/Class;
         3: .line 576
            return
        end local 2 // java.lang.Class immutableClass
        end local 1 // java.lang.Class subclass
        end local 0 // javax.management.MBeanInfo$ArrayGettersSafeAction this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Ljavax/management/MBeanInfo$ArrayGettersSafeAction;
            0    4     1        subclass  Ljava/lang/Class<*>;
            0    4     2  immutableClass  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
    MethodParameters:
                Name  Flags
      subclass        
      immutableClass  

  public java.lang.Boolean run();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // javax.management.MBeanInfo$ArrayGettersSafeAction this
         0: .line 579
            aload 0 /* this */
            getfield javax.management.MBeanInfo$ArrayGettersSafeAction.immutableClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            astore 1 /* methods */
        start local 1 // java.lang.reflect.Method[] methods
         1: .line 580
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 16
         3: .line 581
      StackMap locals: java.lang.reflect.Method[] int
      StackMap stack:
            aload 1 /* methods */
            iload 2 /* i */
            aaload
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         4: .line 582
            aload 3 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            astore 4 /* methodName */
        start local 4 // java.lang.String methodName
         5: .line 583
            aload 4 /* methodName */
            ldc "get"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 15
         6: .line 584
            aload 3 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            ifne 15
         7: .line 585
            aload 3 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 15
         8: .line 588
            aload 0 /* this */
            getfield javax.management.MBeanInfo$ArrayGettersSafeAction.subclass:Ljava/lang/Class;
            aload 4 /* methodName */
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         9: .line 587
            astore 5 /* submethod */
        start local 5 // java.lang.reflect.Method submethod
        10: .line 589
            aload 5 /* submethod */
            aload 3 /* method */
            invokevirtual java.lang.reflect.Method.equals:(Ljava/lang/Object;)Z
            ifne 15
        11: .line 590
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        12: areturn
        end local 5 // java.lang.reflect.Method submethod
        13: .line 591
      StackMap locals: javax.management.MBeanInfo$ArrayGettersSafeAction java.lang.reflect.Method[] int java.lang.reflect.Method java.lang.String
      StackMap stack: java.lang.NoSuchMethodException
            pop
        14: .line 592
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 4 // java.lang.String methodName
        end local 3 // java.lang.reflect.Method method
        15: .line 580
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            aload 1 /* methods */
            arraylength
            if_icmplt 3
        end local 2 // int i
        17: .line 596
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 1 // java.lang.reflect.Method[] methods
        end local 0 // javax.management.MBeanInfo$ArrayGettersSafeAction this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Ljavax/management/MBeanInfo$ArrayGettersSafeAction;
            1   18     1     methods  [Ljava/lang/reflect/Method;
            2   17     2           i  I
            4   15     3      method  Ljava/lang/reflect/Method;
            5   15     4  methodName  Ljava/lang/String;
           10   13     5   submethod  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
           8    12      13  Class java.lang.NoSuchMethodException

  public java.lang.Object run();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual javax.management.MBeanInfo$ArrayGettersSafeAction.run:()Ljava/lang/Boolean;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedAction<Ljava/lang/Boolean;>;
SourceFile: "MBeanInfo.java"
NestHost: javax.management.MBeanInfo
InnerClasses:
  private ArrayGettersSafeAction = javax.management.MBeanInfo$ArrayGettersSafeAction of javax.management.MBeanInfo