final class com.sun.jmx.mbeanserver.ConvertingMethod
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.jmx.mbeanserver.ConvertingMethod
  super_class: java.lang.Object
{
  private static final java.lang.String[] noStrings;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private final com.sun.jmx.mbeanserver.MXBeanMapping returnMapping;
    descriptor: Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.jmx.mbeanserver.MXBeanMapping[] paramMappings;
    descriptor: [Lcom/sun/jmx/mbeanserver/MXBeanMapping;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 223
            iconst_0
            anewarray java.lang.String
            putstatic com.sun.jmx.mbeanserver.ConvertingMethod.noStrings:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static com.sun.jmx.mbeanserver.ConvertingMethod from(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Lcom/sun/jmx/mbeanserver/ConvertingMethod;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.reflect.Method m
         0: .line 41
            new com.sun.jmx.mbeanserver.ConvertingMethod
            dup
            aload 0 /* m */
            invokespecial com.sun.jmx.mbeanserver.ConvertingMethod.<init>:(Ljava/lang/reflect/Method;)V
         1: areturn
         2: .line 42
      StackMap locals:
      StackMap stack: javax.management.openmbean.OpenDataException
            astore 1 /* ode */
        start local 1 // javax.management.openmbean.OpenDataException ode
         3: .line 43
            new java.lang.StringBuilder
            dup
            ldc "Method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* m */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 44
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* m */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " has parameter or return type that "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 45
            ldc "cannot be translated into an open type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 43
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* msg */
        start local 2 // java.lang.String msg
         7: .line 46
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* msg */
            aload 1 /* ode */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.String msg
        end local 1 // javax.management.openmbean.OpenDataException ode
        end local 0 // java.lang.reflect.Method m
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     m  Ljava/lang/reflect/Method;
            3    8     1   ode  Ljavax/management/openmbean/OpenDataException;
            7    8     2   msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.management.openmbean.OpenDataException
    MethodParameters:
      Name  Flags
      m     

  java.lang.reflect.Method getMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 51
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            areturn
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;

  javax.management.Descriptor getDescriptor();
    descriptor: ()Ljavax/management/Descriptor;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 55
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            invokestatic com.sun.jmx.mbeanserver.Introspector.descriptorForElement:(Ljava/lang/reflect/AnnotatedElement;)Ljavax/management/Descriptor;
            areturn
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;

  java.lang.reflect.Type getGenericReturnType();
    descriptor: ()Ljava/lang/reflect/Type;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 59
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
            areturn
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;

  java.lang.reflect.Type[] getGenericParameterTypes();
    descriptor: ()[Ljava/lang/reflect/Type;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 63
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
            areturn
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;

  java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 67
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;

  javax.management.openmbean.OpenType<?> getOpenReturnType();
    descriptor: ()Ljavax/management/openmbean/OpenType;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 71
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.returnMapping:Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenType:()Ljavax/management/openmbean/OpenType;
            areturn
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
    Signature: ()Ljavax/management/openmbean/OpenType<*>;

  javax.management.openmbean.OpenType<?>[] getOpenParameterTypes();
    descriptor: ()[Ljavax/management/openmbean/OpenType;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 75
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            arraylength
            anewarray javax.management.openmbean.OpenType
            astore 1 /* types */
        start local 1 // javax.management.openmbean.OpenType[] types
         1: .line 76
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 77
      StackMap locals: javax.management.openmbean.OpenType[] int
      StackMap stack:
            aload 1 /* types */
            iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 2 /* i */
            aaload
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenType:()Ljavax/management/openmbean/OpenType;
            aastore
         4: .line 76
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 78
            aload 1 /* types */
            areturn
        end local 1 // javax.management.openmbean.OpenType[] types
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            1    7     1  types  [Ljavax/management/openmbean/OpenType;
            2    6     2      i  I
    Signature: ()[Ljavax/management/openmbean/OpenType<*>;

  void checkCallFromOpen();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 91
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 4
      StackMap locals: com.sun.jmx.mbeanserver.ConvertingMethod top int int com.sun.jmx.mbeanserver.MXBeanMapping[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* paramConverter */
        start local 1 // com.sun.jmx.mbeanserver.MXBeanMapping paramConverter
         2: .line 92
            aload 1 /* paramConverter */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.checkReconstructible:()V
        end local 1 // com.sun.jmx.mbeanserver.MXBeanMapping paramConverter
         3: .line 91
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 93
            goto 8
      StackMap locals: com.sun.jmx.mbeanserver.ConvertingMethod
      StackMap stack: java.io.InvalidObjectException
         6: astore 1 /* e */
        start local 1 // java.io.InvalidObjectException e
         7: .line 94
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.InvalidObjectException e
         8: .line 96
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            2    3     1  paramConverter  Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            7    8     1               e  Ljava/io/InvalidObjectException;
      Exception table:
        from    to  target  type
           0     5       6  Class java.io.InvalidObjectException

  void checkCallToOpen();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 108
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.returnMapping:Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.checkReconstructible:()V
         1: .line 109
            goto 4
      StackMap locals:
      StackMap stack: java.io.InvalidObjectException
         2: astore 1 /* e */
        start local 1 // java.io.InvalidObjectException e
         3: .line 110
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.InvalidObjectException e
         4: .line 112
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            3    4     1     e  Ljava/io/InvalidObjectException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.InvalidObjectException

  java.lang.String[] getOpenSignature();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 115
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            arraylength
            ifne 2
         1: .line 116
            getstatic com.sun.jmx.mbeanserver.ConvertingMethod.noStrings:[Ljava/lang/String;
            areturn
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            arraylength
            anewarray java.lang.String
            astore 1 /* sig */
        start local 1 // java.lang.String[] sig
         3: .line 119
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 120
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 1 /* sig */
            iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 2 /* i */
            aaload
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.getOpenClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         6: .line 119
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            arraylength
            if_icmplt 5
        end local 2 // int i
         8: .line 121
            aload 1 /* sig */
            areturn
        end local 1 // java.lang.String[] sig
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            3    9     1   sig  [Ljava/lang/String;
            4    8     2     i  I

  final java.lang.Object toOpenReturnValue(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        start local 2 // java.lang.Object ret
         0: .line 126
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.returnMapping:Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            aload 2 /* ret */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.toOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object ret
        end local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0    1     1  lookup  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            0    1     2     ret  Ljava/lang/Object;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
        Name  Flags
      lookup  
      ret     

  final java.lang.Object fromOpenReturnValue(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        start local 2 // java.lang.Object ret
         0: .line 131
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.returnMapping:Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            aload 2 /* ret */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.fromOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object ret
        end local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0    1     1  lookup  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            0    1     2     ret  Ljava/lang/Object;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
        Name  Flags
      lookup  
      ret     

  final java.lang.Object[] toOpenParameters(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object[]);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        start local 2 // java.lang.Object[] params
         0: .line 136
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramConversionIsIdentity:Z
            ifne 1
            aload 2 /* params */
            ifnonnull 2
         1: .line 137
      StackMap locals:
      StackMap stack:
            aload 2 /* params */
            areturn
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 2 /* params */
            arraylength
            anewarray java.lang.Object
            astore 3 /* oparams */
        start local 3 // java.lang.Object[] oparams
         3: .line 139
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 7
         5: .line 140
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 3 /* oparams */
            iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 4 /* i */
            aaload
            aload 2 /* params */
            iload 4 /* i */
            aaload
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.toOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         6: .line 139
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            aload 2 /* params */
            arraylength
            if_icmplt 5
        end local 4 // int i
         8: .line 141
            aload 3 /* oparams */
            areturn
        end local 3 // java.lang.Object[] oparams
        end local 2 // java.lang.Object[] params
        end local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0    9     1   lookup  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            0    9     2   params  [Ljava/lang/Object;
            3    9     3  oparams  [Ljava/lang/Object;
            4    8     4        i  I
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
        Name  Flags
      lookup  
      params  

  final java.lang.Object[] fromOpenParameters(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // java.lang.Object[] params
         0: .line 146
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramConversionIsIdentity:Z
            ifne 1
            aload 1 /* params */
            ifnonnull 2
         1: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            areturn
         2: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            arraylength
            anewarray java.lang.Object
            astore 2 /* jparams */
        start local 2 // java.lang.Object[] jparams
         3: .line 149
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 150
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 2 /* jparams */
            iload 3 /* i */
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 3 /* i */
            aaload
            aload 1 /* params */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.fromOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
            aastore
         6: .line 149
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* params */
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 151
            aload 2 /* jparams */
            areturn
        end local 2 // java.lang.Object[] jparams
        end local 1 // java.lang.Object[] params
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0    9     1   params  [Ljava/lang/Object;
            3    9     2  jparams  [Ljava/lang/Object;
            4    8     3        i  I
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
        Name  Flags
      params  

  final java.lang.Object toOpenParameter(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object, int);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        start local 2 // java.lang.Object param
        start local 3 // int paramNo
         0: .line 158
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 3 /* paramNo */
            aaload
            aload 2 /* param */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.toOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // int paramNo
        end local 2 // java.lang.Object param
        end local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0    1     1   lookup  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            0    1     2    param  Ljava/lang/Object;
            0    1     3  paramNo  I
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
         Name  Flags
      lookup   
      param    
      paramNo  

  final java.lang.Object fromOpenParameter(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object, int);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        start local 2 // java.lang.Object param
        start local 3 // int paramNo
         0: .line 165
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 3 /* paramNo */
            aaload
            aload 2 /* param */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.fromOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 3 // int paramNo
        end local 2 // java.lang.Object param
        end local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0    1     1   lookup  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            0    1     2    param  Ljava/lang/Object;
            0    1     3  paramNo  I
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
         Name  Flags
      lookup   
      param    
      paramNo  

  java.lang.Object invokeWithOpenReturn(com.sun.jmx.mbeanserver.MXBeanLookup, java.lang.Object, java.lang.Object[]);
    descriptor: (Lcom/sun/jmx/mbeanserver/MXBeanLookup;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        start local 2 // java.lang.Object obj
        start local 3 // java.lang.Object[] params
         0: .line 172
            invokestatic com.sun.jmx.mbeanserver.MXBeanLookup.getLookup:()Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            astore 4 /* old */
        start local 4 // com.sun.jmx.mbeanserver.MXBeanLookup old
         1: .line 174
            aload 1 /* lookup */
            invokestatic com.sun.jmx.mbeanserver.MXBeanLookup.setLookup:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;)V
         2: .line 175
            aload 0 /* this */
            aload 2 /* obj */
            aload 3 /* params */
            invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 6
         3: .line 177
            aload 4 /* old */
            invokestatic com.sun.jmx.mbeanserver.MXBeanLookup.setLookup:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;)V
         4: .line 175
            aload 6
            areturn
         5: .line 176
      StackMap locals: com.sun.jmx.mbeanserver.ConvertingMethod com.sun.jmx.mbeanserver.MXBeanLookup java.lang.Object java.lang.Object[] com.sun.jmx.mbeanserver.MXBeanLookup
      StackMap stack: java.lang.Throwable
            astore 5
         6: .line 177
            aload 4 /* old */
            invokestatic com.sun.jmx.mbeanserver.MXBeanLookup.setLookup:(Lcom/sun/jmx/mbeanserver/MXBeanLookup;)V
         7: .line 178
            aload 5
            athrow
        end local 4 // com.sun.jmx.mbeanserver.MXBeanLookup old
        end local 3 // java.lang.Object[] params
        end local 2 // java.lang.Object obj
        end local 1 // com.sun.jmx.mbeanserver.MXBeanLookup lookup
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0    8     1  lookup  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
            0    8     2     obj  Ljava/lang/Object;
            0    8     3  params  [Ljava/lang/Object;
            1    8     4     old  Lcom/sun/jmx/mbeanserver/MXBeanLookup;
      Exception table:
        from    to  target  type
           1     3       5  any
    Exceptions:
      throws javax.management.MBeanException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
        Name  Flags
      lookup  
      obj     
      params  

  private java.lang.Object invokeWithOpenReturn(java.lang.Object, java.lang.Object[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // java.lang.Object obj
        start local 2 // java.lang.Object[] params
         0: .line 186
            aload 0 /* this */
            aload 2 /* params */
            invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.fromOpenParameters:([Ljava/lang/Object;)[Ljava/lang/Object;
            astore 3 /* javaParams */
        start local 3 // java.lang.Object[] javaParams
         1: .line 187
            goto 7
        end local 3 // java.lang.Object[] javaParams
      StackMap locals:
      StackMap stack: java.io.InvalidObjectException
         2: astore 4 /* e */
        start local 4 // java.io.InvalidObjectException e
         3: .line 189
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.methodName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": cannot convert parameters "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 190
            ldc "from open values: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 189
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* msg */
        start local 5 // java.lang.String msg
         6: .line 191
            new javax.management.MBeanException
            dup
            aload 4 /* e */
            aload 5 /* msg */
            invokespecial javax.management.MBeanException.<init>:(Ljava/lang/Exception;Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String msg
        end local 4 // java.io.InvalidObjectException e
        start local 3 // java.lang.Object[] javaParams
         7: .line 193
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            aload 1 /* obj */
            aload 3 /* javaParams */
            invokestatic sun.reflect.misc.MethodUtil.invoke:(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* javaReturn */
        start local 4 // java.lang.Object javaReturn
         8: .line 195
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.returnMapping:Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            aload 4 /* javaReturn */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMapping.toOpenValue:(Ljava/lang/Object;)Ljava/lang/Object;
         9: areturn
        10: .line 196
      StackMap locals: com.sun.jmx.mbeanserver.ConvertingMethod java.lang.Object java.lang.Object[] java.lang.Object[] java.lang.Object
      StackMap stack: javax.management.openmbean.OpenDataException
            astore 5 /* e */
        start local 5 // javax.management.openmbean.OpenDataException e
        11: .line 198
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual com.sun.jmx.mbeanserver.ConvertingMethod.methodName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": cannot convert return "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 199
            ldc "value to open value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        13: .line 198
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        14: .line 200
            new javax.management.MBeanException
            dup
            aload 5 /* e */
            aload 6 /* msg */
            invokespecial javax.management.MBeanException.<init>:(Ljava/lang/Exception;Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String msg
        end local 5 // javax.management.openmbean.OpenDataException e
        end local 4 // java.lang.Object javaReturn
        end local 3 // java.lang.Object[] javaParams
        end local 2 // java.lang.Object[] params
        end local 1 // java.lang.Object obj
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0   15     1         obj  Ljava/lang/Object;
            0   15     2      params  [Ljava/lang/Object;
            1    2     3  javaParams  [Ljava/lang/Object;
            7   15     3  javaParams  [Ljava/lang/Object;
            3    7     4           e  Ljava/io/InvalidObjectException;
            6    7     5         msg  Ljava/lang/String;
            8   15     4  javaReturn  Ljava/lang/Object;
           11   15     5           e  Ljavax/management/openmbean/OpenDataException;
           14   15     6         msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.InvalidObjectException
           8     9      10  Class javax.management.openmbean.OpenDataException
    Exceptions:
      throws javax.management.MBeanException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
        Name  Flags
      obj     
      params  

  private java.lang.String methodName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
         0: .line 205
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;

  private void <init>(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
        start local 1 // java.lang.reflect.Method m
         0: .line 208
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 209
            aload 0 /* this */
            aload 1 /* m */
            putfield com.sun.jmx.mbeanserver.ConvertingMethod.method:Ljava/lang/reflect/Method;
         2: .line 210
            getstatic com.sun.jmx.mbeanserver.MXBeanMappingFactory.DEFAULT:Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            astore 2 /* mappingFactory */
        start local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory mappingFactory
         3: .line 211
            aload 0 /* this */
         4: .line 212
            aload 2 /* mappingFactory */
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getGenericReturnType:()Ljava/lang/reflect/Type;
            aload 2 /* mappingFactory */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMappingFactory.mappingForType:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
         5: .line 211
            putfield com.sun.jmx.mbeanserver.ConvertingMethod.returnMapping:Lcom/sun/jmx/mbeanserver/MXBeanMapping;
         6: .line 213
            aload 1 /* m */
            invokevirtual java.lang.reflect.Method.getGenericParameterTypes:()[Ljava/lang/reflect/Type;
            astore 3 /* params */
        start local 3 // java.lang.reflect.Type[] params
         7: .line 214
            aload 0 /* this */
            aload 3 /* params */
            arraylength
            anewarray com.sun.jmx.mbeanserver.MXBeanMapping
            putfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
         8: .line 215
            iconst_1
            istore 4 /* identity */
        start local 4 // boolean identity
         9: .line 216
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: goto 14
        11: .line 217
      StackMap locals: com.sun.jmx.mbeanserver.ConvertingMethod java.lang.reflect.Method com.sun.jmx.mbeanserver.MXBeanMappingFactory java.lang.reflect.Type[] int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 5 /* i */
            aload 2 /* mappingFactory */
            aload 3 /* params */
            iload 5 /* i */
            aaload
            aload 2 /* mappingFactory */
            invokevirtual com.sun.jmx.mbeanserver.MXBeanMappingFactory.mappingForType:(Ljava/lang/reflect/Type;Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;)Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            aastore
        12: .line 218
            iload 4 /* identity */
            aload 0 /* this */
            getfield com.sun.jmx.mbeanserver.ConvertingMethod.paramMappings:[Lcom/sun/jmx/mbeanserver/MXBeanMapping;
            iload 5 /* i */
            aaload
            invokestatic com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.isIdentity:(Lcom/sun/jmx/mbeanserver/MXBeanMapping;)Z
            iand
            istore 4 /* identity */
        13: .line 216
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            aload 3 /* params */
            arraylength
            if_icmplt 11
        end local 5 // int i
        15: .line 220
            aload 0 /* this */
            iload 4 /* identity */
            putfield com.sun.jmx.mbeanserver.ConvertingMethod.paramConversionIsIdentity:Z
        16: .line 221
            return
        end local 4 // boolean identity
        end local 3 // java.lang.reflect.Type[] params
        end local 2 // com.sun.jmx.mbeanserver.MXBeanMappingFactory mappingFactory
        end local 1 // java.lang.reflect.Method m
        end local 0 // com.sun.jmx.mbeanserver.ConvertingMethod this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lcom/sun/jmx/mbeanserver/ConvertingMethod;
            0   17     1               m  Ljava/lang/reflect/Method;
            3   17     2  mappingFactory  Lcom/sun/jmx/mbeanserver/MXBeanMappingFactory;
            7   17     3          params  [Ljava/lang/reflect/Type;
            9   17     4        identity  Z
           10   15     5               i  I
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
      Name  Flags
      m     
}
SourceFile: "ConvertingMethod.java"