public abstract class javax.management.openmbean.OpenType<T> implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.management.openmbean.OpenType
  super_class: java.lang.Object
{
  static final long serialVersionUID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -9195195325186646468

  public static final java.util.List<java.lang.String> ALLOWED_CLASSNAMES_LIST;
    descriptor: Ljava/util/List;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  public static final java.lang.String[] ALLOWED_CLASSNAMES;
    descriptor: [Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private java.lang.String className;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String typeName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private transient boolean isArray;
    descriptor: Z
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient javax.management.Descriptor descriptor;
    descriptor: Ljavax/management/Descriptor;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 95
            bipush 16
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 98
            ldc "java.lang.Void"
            aastore
            dup
            iconst_1
         2: .line 99
            ldc "java.lang.Boolean"
            aastore
            dup
            iconst_2
         3: .line 100
            ldc "java.lang.Character"
            aastore
            dup
            iconst_3
         4: .line 101
            ldc "java.lang.Byte"
            aastore
            dup
            iconst_4
         5: .line 102
            ldc "java.lang.Short"
            aastore
            dup
            iconst_5
         6: .line 103
            ldc "java.lang.Integer"
            aastore
            dup
            bipush 6
         7: .line 104
            ldc "java.lang.Long"
            aastore
            dup
            bipush 7
         8: .line 105
            ldc "java.lang.Float"
            aastore
            dup
            bipush 8
         9: .line 106
            ldc "java.lang.Double"
            aastore
            dup
            bipush 9
        10: .line 107
            ldc "java.lang.String"
            aastore
            dup
            bipush 10
        11: .line 108
            ldc "java.math.BigDecimal"
            aastore
            dup
            bipush 11
        12: .line 109
            ldc "java.math.BigInteger"
            aastore
            dup
            bipush 12
        13: .line 110
            ldc "java.util.Date"
            aastore
            dup
            bipush 13
        14: .line 111
            ldc "javax.management.ObjectName"
            aastore
            dup
            bipush 14
        15: .line 112
            ldc Ljavax/management/openmbean/CompositeData;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            bipush 15
        16: .line 113
            ldc Ljavax/management/openmbean/TabularData;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        17: .line 97
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
        18: .line 96
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putstatic javax.management.openmbean.OpenType.ALLOWED_CLASSNAMES_LIST:Ljava/util/List;
        19: .line 121
            getstatic javax.management.openmbean.OpenType.ALLOWED_CLASSNAMES_LIST:Ljava/util/List;
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
        20: .line 120
            putstatic javax.management.openmbean.OpenType.ALLOWED_CLASSNAMES:[Ljava/lang/String;
        21: .line 121
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // javax.management.openmbean.OpenType this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String typeName
        start local 3 // java.lang.String description
         0: .line 177
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 143
            aload 0 /* this */
            iconst_0
            putfield javax.management.openmbean.OpenType.isArray:Z
         2: .line 180
            aload 0 /* this */
            invokevirtual javax.management.openmbean.OpenType.checkClassNameOverride:()V
         3: .line 181
            aload 0 /* this */
            ldc "typeName"
            aload 2 /* typeName */
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield javax.management.openmbean.OpenType.typeName:Ljava/lang/String;
         4: .line 182
            aload 0 /* this */
            ldc "description"
            aload 3 /* description */
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield javax.management.openmbean.OpenType.description:Ljava/lang/String;
         5: .line 183
            aload 0 /* this */
            aload 1 /* className */
            invokestatic javax.management.openmbean.OpenType.validClassName:(Ljava/lang/String;)Ljava/lang/String;
            putfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
         6: .line 184
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
            ifnull 7
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: javax.management.openmbean.OpenType java.lang.String java.lang.String java.lang.String
      StackMap stack: javax.management.openmbean.OpenType
         7: iconst_0
      StackMap locals: javax.management.openmbean.OpenType java.lang.String java.lang.String java.lang.String
      StackMap stack: javax.management.openmbean.OpenType int
         8: putfield javax.management.openmbean.OpenType.isArray:Z
         9: .line 185
            return
        end local 3 // java.lang.String description
        end local 2 // java.lang.String typeName
        end local 1 // java.lang.String className
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Ljavax/management/openmbean/OpenType<TT;>;
            0   10     1    className  Ljava/lang/String;
            0   10     2     typeName  Ljava/lang/String;
            0   10     3  description  Ljava/lang/String;
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
             Name  Flags
      className    
      typeName     
      description  

  void <init>(java.lang.String, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // javax.management.openmbean.OpenType this
        start local 1 // java.lang.String className
        start local 2 // java.lang.String typeName
        start local 3 // java.lang.String description
        start local 4 // boolean isArray
         0: .line 188
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 143
            aload 0 /* this */
            iconst_0
            putfield javax.management.openmbean.OpenType.isArray:Z
         2: .line 190
            aload 0 /* this */
            ldc "className"
            aload 1 /* className */
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
         3: .line 191
            aload 0 /* this */
            ldc "typeName"
            aload 2 /* typeName */
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield javax.management.openmbean.OpenType.typeName:Ljava/lang/String;
         4: .line 192
            aload 0 /* this */
            ldc "description"
            aload 3 /* description */
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield javax.management.openmbean.OpenType.description:Ljava/lang/String;
         5: .line 193
            aload 0 /* this */
            iload 4 /* isArray */
            putfield javax.management.openmbean.OpenType.isArray:Z
         6: .line 194
            return
        end local 4 // boolean isArray
        end local 3 // java.lang.String description
        end local 2 // java.lang.String typeName
        end local 1 // java.lang.String className
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljavax/management/openmbean/OpenType<TT;>;
            0    7     1    className  Ljava/lang/String;
            0    7     2     typeName  Ljava/lang/String;
            0    7     3  description  Ljava/lang/String;
            0    7     4      isArray  Z
    MethodParameters:
             Name  Flags
      className    
      typeName     
      description  
      isArray      

  private void checkClassNameOverride();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.management.openmbean.OpenType this
         0: .line 197
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ifnonnull 2
         1: .line 198
            return
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic javax.management.openmbean.OpenType.overridesGetClassName:(Ljava/lang/Class;)Z
            ifeq 7
         3: .line 201
            new com.sun.jmx.mbeanserver.GetPropertyAction
            dup
            ldc "jmx.extend.open.types"
            invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
         4: .line 200
            astore 1 /* getExtendOpenTypes */
        start local 1 // com.sun.jmx.mbeanserver.GetPropertyAction getExtendOpenTypes
         5: .line 202
            aload 1 /* getExtendOpenTypes */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            ifnonnull 7
         6: .line 203
            new java.lang.SecurityException
            dup
            ldc "Cannot override getClassName() unless -Djmx.extend.open.types"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // com.sun.jmx.mbeanserver.GetPropertyAction getExtendOpenTypes
         7: .line 207
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Ljavax/management/openmbean/OpenType<TT;>;
            5    7     1  getExtendOpenTypes  Lcom/sun/jmx/mbeanserver/GetPropertyAction;
    Exceptions:
      throws java.lang.SecurityException

  private static boolean overridesGetClassName(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 210
            new javax.management.openmbean.OpenType$1
            dup
            aload 0 /* c */
            invokespecial javax.management.openmbean.OpenType$1.<init>:(Ljava/lang/Class;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
      Name  Flags
      c     final

  private static java.lang.String validClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.lang.String className
         0: .line 223
            ldc "className"
            aload 0 /* className */
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* className */
         1: .line 228
            iconst_0
            istore 1 /* n */
        start local 1 // int n
         2: .line 229
            goto 4
         3: .line 230
      StackMap locals: int
      StackMap stack:
            iinc 1 /* n */ 1
         4: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* className */
            ldc "["
            iload 1 /* n */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifne 3
         5: .line 233
            iconst_0
            istore 3 /* isPrimitiveArray */
        start local 3 // boolean isPrimitiveArray
         6: .line 234
            iload 1 /* n */
            ifle 17
         7: .line 235
            aload 0 /* className */
            ldc "L"
            iload 1 /* n */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
            ifeq 10
            aload 0 /* className */
            ldc ";"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 238
            aload 0 /* className */
            iload 1 /* n */
            iconst_1
            iadd
            aload 0 /* className */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* eltClassName */
        start local 2 // java.lang.String eltClassName
         9: .line 239
            goto 18
        end local 2 // java.lang.String eltClassName
      StackMap locals: java.lang.String int top int
      StackMap stack:
        10: iload 1 /* n */
            aload 0 /* className */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpne 14
        11: .line 241
            aload 0 /* className */
            iload 1 /* n */
            aload 0 /* className */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* eltClassName */
        start local 2 // java.lang.String eltClassName
        12: .line 242
            iconst_1
            istore 3 /* isPrimitiveArray */
        13: .line 243
            goto 18
        end local 2 // java.lang.String eltClassName
        14: .line 244
      StackMap locals:
      StackMap stack:
            new javax.management.openmbean.OpenDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Argument className=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 245
            ldc "\" is not a valid class name"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 244
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* className */
            astore 2 /* eltClassName */
        start local 2 // java.lang.String eltClassName
        18: .line 254
      StackMap locals: java.lang.String int java.lang.String int
      StackMap stack:
            iconst_0
            istore 4 /* ok */
        start local 4 // boolean ok
        19: .line 255
            iload 3 /* isPrimitiveArray */
            ifeq 22
        20: .line 256
            aload 2 /* eltClassName */
            invokestatic javax.management.openmbean.ArrayType.isPrimitiveContentType:(Ljava/lang/String;)Z
            istore 4 /* ok */
        21: .line 257
            goto 23
        22: .line 258
      StackMap locals: int
      StackMap stack:
            getstatic javax.management.openmbean.OpenType.ALLOWED_CLASSNAMES_LIST:Ljava/util/List;
            aload 2 /* eltClassName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            istore 4 /* ok */
        23: .line 260
      StackMap locals:
      StackMap stack:
            iload 4 /* ok */
            ifne 27
        24: .line 261
            new javax.management.openmbean.OpenDataException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Argument className=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 262
            ldc "\" is not one of the allowed Java class names for open data."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 261
            invokespecial javax.management.openmbean.OpenDataException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* className */
            areturn
        end local 4 // boolean ok
        end local 3 // boolean isPrimitiveArray
        end local 2 // java.lang.String eltClassName
        end local 1 // int n
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   28     0         className  Ljava/lang/String;
            2   28     1                 n  I
            9   10     2      eltClassName  Ljava/lang/String;
           12   14     2      eltClassName  Ljava/lang/String;
           18   28     2      eltClassName  Ljava/lang/String;
            6   28     3  isPrimitiveArray  Z
           19   28     4                ok  Z
    Exceptions:
      throws javax.management.openmbean.OpenDataException
    MethodParameters:
           Name  Flags
      className  

  private static java.lang.String valid(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String argName
        start local 1 // java.lang.String argValue
         0: .line 271
            aload 1 /* argValue */
            ifnull 1
            aload 1 /* argValue */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            dup
            astore 1 /* argValue */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 272
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Argument "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* argName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 273
            ldc " cannot be null or empty"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 272
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 274
      StackMap locals:
      StackMap stack:
            aload 1 /* argValue */
            areturn
        end local 1 // java.lang.String argValue
        end local 0 // java.lang.String argName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0   argName  Ljava/lang/String;
            0    5     1  argValue  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      argName   
      argValue  

  synchronized javax.management.Descriptor getDescriptor();
    descriptor: ()Ljavax/management/Descriptor;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // javax.management.openmbean.OpenType this
         0: .line 279
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.descriptor:Ljavax/management/Descriptor;
            ifnonnull 4
         1: .line 280
            aload 0 /* this */
            new javax.management.ImmutableDescriptor
            dup
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "openType"
            aastore
         2: .line 281
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            invokespecial javax.management.ImmutableDescriptor.<init>:([Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 280
            putfield javax.management.openmbean.OpenType.descriptor:Ljavax/management/Descriptor;
         4: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.descriptor:Ljavax/management/Descriptor;
            areturn
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljavax/management/openmbean/OpenType<TT;>;

  public java.lang.String getClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.openmbean.OpenType this
         0: .line 307
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
            areturn
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/openmbean/OpenType<TT;>;

  java.lang.String safeGetClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.openmbean.OpenType this
         0: .line 313
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
            areturn
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/openmbean/OpenType<TT;>;

  public java.lang.String getTypeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.openmbean.OpenType this
         0: .line 323
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.typeName:Ljava/lang/String;
            areturn
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/openmbean/OpenType<TT;>;

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.openmbean.OpenType this
         0: .line 333
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.description:Ljava/lang/String;
            areturn
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/openmbean/OpenType<TT;>;

  public boolean isArray();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.openmbean.OpenType this
         0: .line 344
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.isArray:Z
            ireturn
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/openmbean/OpenType<TT;>;

  public abstract boolean isValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  boolean isAssignableFrom(javax.management.openmbean.OpenType<?>);
    descriptor: (Ljavax/management/openmbean/OpenType;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.openmbean.OpenType this
        start local 1 // javax.management.openmbean.OpenType ot
         0: .line 367
            aload 0 /* this */
            aload 1 /* ot */
            invokevirtual javax.management.openmbean.OpenType.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // javax.management.openmbean.OpenType ot
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/openmbean/OpenType<TT;>;
            0    1     1    ot  Ljavax/management/openmbean/OpenType<*>;
    Signature: (Ljavax/management/openmbean/OpenType<*>;)Z
    MethodParameters:
      Name  Flags
      ot    

  public abstract boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      obj   

  public abstract int hashCode();
    descriptor: ()I
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // javax.management.openmbean.OpenType this
        start local 1 // java.io.ObjectInputStream in
         0: .line 396
            aload 0 /* this */
            invokevirtual javax.management.openmbean.OpenType.checkClassNameOverride:()V
         1: .line 397
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.readFields:()Ljava/io/ObjectInputStream$GetField;
            astore 2 /* fields */
        start local 2 // java.io.ObjectInputStream$GetField fields
         2: .line 403
            aload 2 /* fields */
            ldc "className"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic javax.management.openmbean.OpenType.validClassName:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 402
            astore 3 /* classNameField */
        start local 3 // java.lang.String classNameField
         4: .line 405
            ldc "description"
            aload 2 /* fields */
            ldc "description"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         5: .line 404
            astore 4 /* descriptionField */
        start local 4 // java.lang.String descriptionField
         6: .line 407
            ldc "typeName"
            aload 2 /* fields */
            ldc "typeName"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic javax.management.openmbean.OpenType.valid:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         7: .line 406
            astore 5 /* typeNameField */
        start local 5 // java.lang.String typeNameField
         8: .line 408
            goto 13
        end local 5 // java.lang.String typeNameField
        end local 4 // java.lang.String descriptionField
        end local 3 // java.lang.String classNameField
      StackMap locals: javax.management.openmbean.OpenType java.io.ObjectInputStream java.io.ObjectInputStream$GetField
      StackMap stack: java.lang.Exception
         9: astore 6 /* e */
        start local 6 // java.lang.Exception e
        10: .line 409
            new java.io.InvalidObjectException
            dup
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            astore 7 /* e2 */
        start local 7 // java.io.IOException e2
        11: .line 410
            aload 7 /* e2 */
            aload 6 /* e */
            invokevirtual java.io.IOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        12: .line 411
            aload 7 /* e2 */
            athrow
        end local 7 // java.io.IOException e2
        end local 6 // java.lang.Exception e
        start local 3 // java.lang.String classNameField
        start local 4 // java.lang.String descriptionField
        start local 5 // java.lang.String typeNameField
        13: .line 413
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* classNameField */
            putfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
        14: .line 414
            aload 0 /* this */
            aload 4 /* descriptionField */
            putfield javax.management.openmbean.OpenType.description:Ljava/lang/String;
        15: .line 415
            aload 0 /* this */
            aload 5 /* typeNameField */
            putfield javax.management.openmbean.OpenType.typeName:Ljava/lang/String;
        16: .line 416
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.openmbean.OpenType.className:Ljava/lang/String;
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield javax.management.openmbean.OpenType.isArray:Z
        17: .line 417
            return
        end local 5 // java.lang.String typeNameField
        end local 4 // java.lang.String descriptionField
        end local 3 // java.lang.String classNameField
        end local 2 // java.io.ObjectInputStream$GetField fields
        end local 1 // java.io.ObjectInputStream in
        end local 0 // javax.management.openmbean.OpenType this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Ljavax/management/openmbean/OpenType<TT;>;
            0   18     1                in  Ljava/io/ObjectInputStream;
            2   18     2            fields  Ljava/io/ObjectInputStream$GetField;
            4    9     3    classNameField  Ljava/lang/String;
           13   18     3    classNameField  Ljava/lang/String;
            6    9     4  descriptionField  Ljava/lang/String;
           13   18     4  descriptionField  Ljava/lang/String;
            8    9     5     typeNameField  Ljava/lang/String;
           13   18     5     typeNameField  Ljava/lang/String;
           10   13     6                 e  Ljava/lang/Exception;
           11   13     7                e2  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Ljava/io/Serializable;
SourceFile: "OpenType.java"
NestMembers:
  javax.management.openmbean.OpenType$1
InnerClasses:
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  javax.management.openmbean.OpenType$1