class org.eclipse.jetty.jmx.MetaData$AttributeInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jetty.jmx.MetaData$AttributeInfo
  super_class: java.lang.Object
{
  private final java.lang.String _name;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Method _getter;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Method _setter;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean _proxied;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean _convert;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.management.MBeanAttributeInfo _info;
    descriptor: Ljavax/management/MBeanAttributeInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private void <init>(org.eclipse.jetty.util.annotation.ManagedAttribute, java.lang.reflect.Method);
    descriptor: (Lorg/eclipse/jetty/util/annotation/ManagedAttribute;Ljava/lang/reflect/Method;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=8, args_size=3
        start local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
        start local 1 // org.eclipse.jetty.util.annotation.ManagedAttribute attribute
        start local 2 // java.lang.reflect.Method getter
         0: .line 347
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 349
            aload 1 /* attribute */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedAttribute.name:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 350
            ldc ""
            aload 3 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 351
            aload 2 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jetty.jmx.MetaData.toAttributeName:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* name */
         4: .line 352
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* name */
            putfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._name:Ljava/lang/String;
         5: .line 354
            aload 0 /* this */
            aload 2 /* getter */
            putfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._getter:Ljava/lang/reflect/Method;
         6: .line 356
            aload 1 /* attribute */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedAttribute.readonly:()Z
            istore 4 /* readOnly */
        start local 4 // boolean readOnly
         7: .line 357
            aload 0 /* this */
            iload 4 /* readOnly */
            ifeq 8
            aconst_null
            goto 9
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String int
      StackMap stack: org.eclipse.jetty.jmx.MetaData$AttributeInfo
         8: aload 0 /* this */
            aload 1 /* attribute */
            aload 2 /* getter */
            aload 3 /* name */
            invokevirtual org.eclipse.jetty.jmx.MetaData$AttributeInfo.findSetter:(Lorg/eclipse/jetty/util/annotation/ManagedAttribute;Ljava/lang/reflect/Method;Ljava/lang/String;)Ljava/lang/reflect/Method;
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String int
      StackMap stack: org.eclipse.jetty.jmx.MetaData$AttributeInfo java.lang.reflect.Method
         9: putfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._setter:Ljava/lang/reflect/Method;
        10: .line 359
            aload 0 /* this */
            aload 1 /* attribute */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedAttribute.proxied:()Z
            putfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._proxied:Z
        11: .line 361
            aload 2 /* getter */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            astore 5 /* returnType */
        start local 5 // java.lang.Class returnType
        12: .line 362
            aload 0 /* this */
            aload 5 /* returnType */
            invokestatic org.eclipse.jetty.jmx.MetaData.isManagedObject:(Ljava/lang/Class;)Z
            putfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._convert:Z
        13: .line 363
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._convert:Z
            ifeq 17
        14: .line 364
            aload 5 /* returnType */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 16
        15: .line 365
            ldc [Ljavax/management/ObjectName;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 18
        16: .line 366
      StackMap locals: java.lang.Class
      StackMap stack:
            ldc Ljavax/management/ObjectName;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 18
        17: .line 367
      StackMap locals:
      StackMap stack:
            aload 5 /* returnType */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 363
      StackMap locals:
      StackMap stack: java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String signature
        19: .line 369
            aload 1 /* attribute */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedAttribute.value:()Ljava/lang/String;
            astore 7 /* description */
        start local 7 // java.lang.String description
        20: .line 370
            aload 0 /* this */
        21: new javax.management.MBeanAttributeInfo
            dup
            aload 3 /* name */
            aload 6 /* signature */
            aload 7 /* description */
            iconst_1
        22: .line 371
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._setter:Ljava/lang/reflect/Method;
            ifnull 23
            iconst_1
            goto 24
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String int java.lang.Class java.lang.String java.lang.String
      StackMap stack: org.eclipse.jetty.jmx.MetaData$AttributeInfo new 21 new 21 java.lang.String java.lang.String java.lang.String int
        23: iconst_0
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String int java.lang.Class java.lang.String java.lang.String
      StackMap stack: org.eclipse.jetty.jmx.MetaData$AttributeInfo new 21 new 21 java.lang.String java.lang.String java.lang.String int int
        24: aload 2 /* getter */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            ldc "is"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            invokespecial javax.management.MBeanAttributeInfo.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZ)V
        25: .line 370
            putfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._info:Ljavax/management/MBeanAttributeInfo;
        26: .line 372
            return
        end local 7 // java.lang.String description
        end local 6 // java.lang.String signature
        end local 5 // java.lang.Class returnType
        end local 4 // boolean readOnly
        end local 3 // java.lang.String name
        end local 2 // java.lang.reflect.Method getter
        end local 1 // org.eclipse.jetty.util.annotation.ManagedAttribute attribute
        end local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0         this  Lorg/eclipse/jetty/jmx/MetaData$AttributeInfo;
            0   27     1    attribute  Lorg/eclipse/jetty/util/annotation/ManagedAttribute;
            0   27     2       getter  Ljava/lang/reflect/Method;
            2   27     3         name  Ljava/lang/String;
            7   27     4     readOnly  Z
           12   27     5   returnType  Ljava/lang/Class<*>;
           19   27     6    signature  Ljava/lang/String;
           20   27     7  description  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      attribute  
      getter     

  java.lang.Object getAttribute(org.eclipse.jetty.jmx.ObjectMBean);
    descriptor: (Lorg/eclipse/jetty/jmx/ObjectMBean;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
        start local 1 // org.eclipse.jetty.jmx.ObjectMBean mbean
         0: .line 378
            aload 1 /* mbean */
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getManagedObject:()Ljava/lang/Object;
            astore 2 /* target */
        start local 2 // java.lang.Object target
         1: .line 379
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._proxied:Z
            ifne 2
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._getter:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            aload 1 /* mbean */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 380
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* mbean */
            astore 2 /* target */
         3: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._getter:Ljava/lang/reflect/Method;
            aload 2 /* target */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         4: .line 382
            aload 3 /* result */
            ifnonnull 6
         5: .line 383
            aconst_null
            areturn
         6: .line 384
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._convert:Z
            ifne 9
         7: .line 385
            aload 3 /* result */
         8: areturn
         9: .line 386
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._getter:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifne 12
        10: .line 387
            aload 1 /* mbean */
            aload 3 /* result */
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.findObjectName:(Ljava/lang/Object;)Ljavax/management/ObjectName;
        11: areturn
        12: .line 388
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 4 /* length */
        start local 4 // int length
        13: .line 389
            iload 4 /* length */
            anewarray javax.management.ObjectName
            astore 5 /* names */
        start local 5 // javax.management.ObjectName[] names
        14: .line 390
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 18
        16: .line 392
      StackMap locals: int javax.management.ObjectName[] int
      StackMap stack:
            aload 5 /* names */
            iload 6 /* i */
            aload 1 /* mbean */
            aload 3 /* result */
            iload 6 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.findObjectName:(Ljava/lang/Object;)Ljavax/management/ObjectName;
            aastore
        17: .line 390
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            iload 4 /* length */
            if_icmplt 16
        end local 6 // int i
        19: .line 394
            aload 5 /* names */
        20: areturn
        end local 5 // javax.management.ObjectName[] names
        end local 4 // int length
        end local 3 // java.lang.Object result
        end local 2 // java.lang.Object target
        21: .line 396
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.jmx.ObjectMBean
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* x */
        start local 2 // java.lang.reflect.InvocationTargetException x
        22: .line 398
            aload 2 /* x */
            invokestatic org.eclipse.jetty.jmx.MetaData.toMBeanException:(Ljava/lang/reflect/InvocationTargetException;)Ljavax/management/MBeanException;
            athrow
        end local 2 // java.lang.reflect.InvocationTargetException x
        23: .line 400
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* x */
        start local 2 // java.lang.Exception x
        24: .line 402
            new javax.management.ReflectionException
            dup
            aload 2 /* x */
            invokespecial javax.management.ReflectionException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 2 // java.lang.Exception x
        end local 1 // org.eclipse.jetty.jmx.ObjectMBean mbean
        end local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   25     0    this  Lorg/eclipse/jetty/jmx/MetaData$AttributeInfo;
            0   25     1   mbean  Lorg/eclipse/jetty/jmx/ObjectMBean;
            1   21     2  target  Ljava/lang/Object;
            4   21     3  result  Ljava/lang/Object;
           13   21     4  length  I
           14   21     5   names  [Ljavax/management/ObjectName;
           15   19     6       i  I
           22   23     2       x  Ljava/lang/reflect/InvocationTargetException;
           24   25     2       x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     5      21  Class java.lang.reflect.InvocationTargetException
           6     8      21  Class java.lang.reflect.InvocationTargetException
           9    11      21  Class java.lang.reflect.InvocationTargetException
          12    20      21  Class java.lang.reflect.InvocationTargetException
           0     5      23  Class java.lang.Exception
           6     8      23  Class java.lang.Exception
           9    11      23  Class java.lang.Exception
          12    20      23  Class java.lang.Exception
    Exceptions:
      throws javax.management.ReflectionException, javax.management.MBeanException
    MethodParameters:
       Name  Flags
      mbean  

  void setAttribute(java.lang.Object, org.eclipse.jetty.jmx.ObjectMBean);
    descriptor: (Ljava/lang/Object;Lorg/eclipse/jetty/jmx/ObjectMBean;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
        start local 1 // java.lang.Object value
        start local 2 // org.eclipse.jetty.jmx.ObjectMBean mbean
         0: .line 408
            getstatic org.eclipse.jetty.jmx.MetaData.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 409
            getstatic org.eclipse.jetty.jmx.MetaData.LOG:Lorg/slf4j/Logger;
            ldc "setAttribute {}.{}={} {}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* mbean */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._info:Ljavax/management/MBeanAttributeInfo;
            invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* value */
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._info:Ljavax/management/MBeanAttributeInfo;
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
         2: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._setter:Ljava/lang/reflect/Method;
            ifnonnull 4
         3: .line 413
            return
         4: .line 414
      StackMap locals:
      StackMap stack:
            aload 2 /* mbean */
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.getManagedObject:()Ljava/lang/Object;
            astore 3 /* target */
        start local 3 // java.lang.Object target
         5: .line 415
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._proxied:Z
            ifne 6
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._setter:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            aload 2 /* mbean */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 416
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* mbean */
            astore 3 /* target */
         7: .line 417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._convert:Z
            ifeq 8
            aload 1 /* value */
            ifnonnull 10
         8: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._setter:Ljava/lang/reflect/Method;
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 420
            return
        10: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._getter:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifne 14
        11: .line 424
            aload 2 /* mbean */
            aload 1 /* value */
            checkcast javax.management.ObjectName
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.findBean:(Ljavax/management/ObjectName;)Ljava/lang/Object;
            astore 1 /* value */
        12: .line 425
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._setter:Ljava/lang/reflect/Method;
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* value */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 426
            return
        14: .line 428
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            checkcast javax.management.ObjectName[]
            astore 4 /* names */
        start local 4 // javax.management.ObjectName[] names
        15: .line 429
            aload 4 /* names */
            arraylength
            anewarray java.lang.Object
            astore 5 /* result */
        start local 5 // java.lang.Object result
        16: .line 430
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        17: goto 20
        18: .line 432
      StackMap locals: javax.management.ObjectName[] java.lang.Object int
      StackMap stack:
            aload 5 /* result */
            iload 6 /* i */
            aload 2 /* mbean */
            aload 4 /* names */
            iload 6 /* i */
            aaload
            invokevirtual org.eclipse.jetty.jmx.ObjectMBean.findBean:(Ljavax/management/ObjectName;)Ljava/lang/Object;
            invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
        19: .line 430
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* i */
            aload 4 /* names */
            arraylength
            if_icmplt 18
        end local 6 // int i
        21: .line 434
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._setter:Ljava/lang/reflect/Method;
            aload 3 /* target */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* result */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Object result
        end local 4 // javax.management.ObjectName[] names
        end local 3 // java.lang.Object target
        22: .line 435
            goto 27
        23: .line 436
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo java.lang.Object org.eclipse.jetty.jmx.ObjectMBean
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* x */
        start local 3 // java.lang.reflect.InvocationTargetException x
        24: .line 438
            aload 3 /* x */
            invokestatic org.eclipse.jetty.jmx.MetaData.toMBeanException:(Ljava/lang/reflect/InvocationTargetException;)Ljavax/management/MBeanException;
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException x
        25: .line 440
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* x */
        start local 3 // java.lang.Exception x
        26: .line 442
            new javax.management.ReflectionException
            dup
            aload 3 /* x */
            invokespecial javax.management.ReflectionException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 3 // java.lang.Exception x
        27: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jetty.jmx.ObjectMBean mbean
        end local 1 // java.lang.Object value
        end local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Lorg/eclipse/jetty/jmx/MetaData$AttributeInfo;
            0   28     1   value  Ljava/lang/Object;
            0   28     2   mbean  Lorg/eclipse/jetty/jmx/ObjectMBean;
            5   22     3  target  Ljava/lang/Object;
           15   22     4   names  [Ljavax/management/ObjectName;
           16   22     5  result  Ljava/lang/Object;
           17   21     6       i  I
           24   25     3       x  Ljava/lang/reflect/InvocationTargetException;
           26   27     3       x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3      23  Class java.lang.reflect.InvocationTargetException
           4     9      23  Class java.lang.reflect.InvocationTargetException
          10    13      23  Class java.lang.reflect.InvocationTargetException
          14    22      23  Class java.lang.reflect.InvocationTargetException
           2     3      25  Class java.lang.Exception
           4     9      25  Class java.lang.Exception
          10    13      25  Class java.lang.Exception
          14    22      25  Class java.lang.Exception
    Exceptions:
      throws javax.management.ReflectionException, javax.management.MBeanException
    MethodParameters:
       Name  Flags
      value  
      mbean  

  private java.lang.reflect.Method findSetter(org.eclipse.jetty.util.annotation.ManagedAttribute, java.lang.reflect.Method, java.lang.String);
    descriptor: (Lorg/eclipse/jetty/util/annotation/ManagedAttribute;Ljava/lang/reflect/Method;Ljava/lang/String;)Ljava/lang/reflect/Method;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
        start local 1 // org.eclipse.jetty.util.annotation.ManagedAttribute attribute
        start local 2 // java.lang.reflect.Method getter
        start local 3 // java.lang.String name
         0: .line 448
            aload 1 /* attribute */
            invokeinterface org.eclipse.jetty.util.annotation.ManagedAttribute.setter:()Ljava/lang/String;
            astore 4 /* setterName */
        start local 4 // java.lang.String setterName
         1: .line 449
            ldc ""
            aload 4 /* setterName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 450
            new java.lang.StringBuilder
            dup
            ldc "set"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* name */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* setterName */
         3: .line 452
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 5 /* setter */
        start local 5 // java.lang.reflect.Method setter
         4: .line 453
            aload 2 /* getter */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            astore 6 /* klass */
        start local 6 // java.lang.Class klass
         5: .line 454
            aload 6 /* klass */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 16
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String java.lang.String java.lang.reflect.Method java.lang.Class top int int java.lang.reflect.Method[]
      StackMap stack:
         6: aload 10
            iload 8
            aaload
            astore 7 /* method */
        start local 7 // java.lang.reflect.Method method
         7: .line 456
            aload 7 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 4 /* setterName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
            aload 7 /* method */
            invokevirtual java.lang.reflect.Method.getParameterCount:()I
            iconst_1
            if_icmpne 15
         8: .line 458
            aload 5 /* setter */
            ifnull 11
         9: .line 460
            getstatic org.eclipse.jetty.jmx.MetaData.LOG:Lorg/slf4j/Logger;
            ldc "Multiple setters for mbean attribute {} in {}"
            aload 3 /* name */
            aload 6 /* klass */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 461
            goto 15
        11: .line 463
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String java.lang.String java.lang.reflect.Method java.lang.Class java.lang.reflect.Method int int java.lang.reflect.Method[]
      StackMap stack:
            aload 2 /* getter */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            aload 7 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            iconst_0
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 14
        12: .line 465
            getstatic org.eclipse.jetty.jmx.MetaData.LOG:Lorg/slf4j/Logger;
            ldc "Getter/setter type mismatch for mbean attribute {} in {}"
            aload 3 /* name */
            aload 6 /* klass */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 466
            goto 15
        14: .line 468
      StackMap locals:
      StackMap stack:
            aload 7 /* method */
            astore 5 /* setter */
        end local 7 // java.lang.reflect.Method method
        15: .line 454
      StackMap locals: org.eclipse.jetty.jmx.MetaData$AttributeInfo org.eclipse.jetty.util.annotation.ManagedAttribute java.lang.reflect.Method java.lang.String java.lang.String java.lang.reflect.Method java.lang.Class top int int java.lang.reflect.Method[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        16: iload 8
            iload 9
            if_icmplt 6
        17: .line 472
            aload 5 /* setter */
            areturn
        end local 6 // java.lang.Class klass
        end local 5 // java.lang.reflect.Method setter
        end local 4 // java.lang.String setterName
        end local 3 // java.lang.String name
        end local 2 // java.lang.reflect.Method getter
        end local 1 // org.eclipse.jetty.util.annotation.ManagedAttribute attribute
        end local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/eclipse/jetty/jmx/MetaData$AttributeInfo;
            0   18     1   attribute  Lorg/eclipse/jetty/util/annotation/ManagedAttribute;
            0   18     2      getter  Ljava/lang/reflect/Method;
            0   18     3        name  Ljava/lang/String;
            1   18     4  setterName  Ljava/lang/String;
            4   18     5      setter  Ljava/lang/reflect/Method;
            5   18     6       klass  Ljava/lang/Class<*>;
            7   15     7      method  Ljava/lang/reflect/Method;
    MethodParameters:
           Name  Flags
      attribute  
      getter     
      name       

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
         0: .line 478
            ldc "%s@%x[%s,proxied=%b,convert=%b,info=%s]"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
         1: .line 479
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._name:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._proxied:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._convert:Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_5
            aload 0 /* this */
            getfield org.eclipse.jetty.jmx.MetaData$AttributeInfo._info:Ljavax/management/MBeanAttributeInfo;
            aastore
         2: .line 478
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.jmx.MetaData$AttributeInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jetty/jmx/MetaData$AttributeInfo;
}
SourceFile: "MetaData.java"
NestHost: org.eclipse.jetty.jmx.MetaData
InnerClasses:
  private AttributeInfo = org.eclipse.jetty.jmx.MetaData$AttributeInfo of org.eclipse.jetty.jmx.MetaData