public class javax.management.relation.RelationTypeSupport implements javax.management.relation.RelationType
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.relation.RelationTypeSupport
  super_class: java.lang.Object
{
  private static final long oldSerialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -8179019472410837190

  private static final long newSerialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4611072955724144607

  private static final java.io.ObjectStreamField[] oldSerialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.ObjectStreamField[] newSerialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.io.ObjectStreamField[] serialPersistentFields;
    descriptor: [Ljava/io/ObjectStreamField;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static boolean compat;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private java.util.Map<java.lang.String, javax.management.relation.RoleInfo> roleName2InfoMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljavax/management/relation/RoleInfo;>;

  private boolean isInRelationService;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=2, args_size=0
         0: .line 83
            iconst_3
            anewarray java.io.ObjectStreamField
            dup
            iconst_0
         1: .line 84
            new java.io.ObjectStreamField
            dup
            ldc "myTypeName"
            ldc Ljava/lang/String;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
            dup
            iconst_1
         2: .line 85
            new java.io.ObjectStreamField
            dup
            ldc "myRoleName2InfoMap"
            ldc Ljava/util/HashMap;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
            dup
            iconst_2
         3: .line 86
            new java.io.ObjectStreamField
            dup
            ldc "myIsInRelServFlg"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
         4: .line 82
            putstatic javax.management.relation.RelationTypeSupport.oldSerialPersistentFields:[Ljava/io/ObjectStreamField;
         5: .line 91
            iconst_3
            anewarray java.io.ObjectStreamField
            dup
            iconst_0
         6: .line 92
            new java.io.ObjectStreamField
            dup
            ldc "typeName"
            ldc Ljava/lang/String;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
            dup
            iconst_1
         7: .line 93
            new java.io.ObjectStreamField
            dup
            ldc "roleName2InfoMap"
            ldc Ljava/util/Map;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
            dup
            iconst_2
         8: .line 94
            new java.io.ObjectStreamField
            dup
            ldc "isInRelationService"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            invokespecial java.io.ObjectStreamField.<init>:(Ljava/lang/String;Ljava/lang/Class;)V
            aastore
         9: .line 90
            putstatic javax.management.relation.RelationTypeSupport.newSerialPersistentFields:[Ljava/io/ObjectStreamField;
        10: .line 107
            iconst_0
            putstatic javax.management.relation.RelationTypeSupport.compat:Z
        11: .line 110
            new com.sun.jmx.mbeanserver.GetPropertyAction
            dup
            ldc "jmx.serial.form"
            invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
            astore 0 /* act */
        start local 0 // com.sun.jmx.mbeanserver.GetPropertyAction act
        12: .line 111
            aload 0 /* act */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* form */
        start local 1 // java.lang.String form
        13: .line 112
            aload 1 /* form */
            ifnull 14
            aload 1 /* form */
            ldc "1.0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
            iconst_1
            goto 15
      StackMap locals: com.sun.jmx.mbeanserver.GetPropertyAction java.lang.String
      StackMap stack:
        14: iconst_0
      StackMap locals:
      StackMap stack: int
        15: putstatic javax.management.relation.RelationTypeSupport.compat:Z
        end local 1 // java.lang.String form
        end local 0 // com.sun.jmx.mbeanserver.GetPropertyAction act
        16: .line 113
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Exception
        17: pop
        18: .line 116
      StackMap locals:
      StackMap stack:
            getstatic javax.management.relation.RelationTypeSupport.compat:Z
            ifeq 22
        19: .line 117
            getstatic javax.management.relation.RelationTypeSupport.oldSerialPersistentFields:[Ljava/io/ObjectStreamField;
            putstatic javax.management.relation.RelationTypeSupport.serialPersistentFields:[Ljava/io/ObjectStreamField;
        20: .line 118
            ldc -8179019472410837190
            putstatic javax.management.relation.RelationTypeSupport.serialVersionUID:J
        21: .line 119
            goto 24
        22: .line 120
      StackMap locals:
      StackMap stack:
            getstatic javax.management.relation.RelationTypeSupport.newSerialPersistentFields:[Ljava/io/ObjectStreamField;
            putstatic javax.management.relation.RelationTypeSupport.serialPersistentFields:[Ljava/io/ObjectStreamField;
        23: .line 121
            ldc 4611072955724144607
            putstatic javax.management.relation.RelationTypeSupport.serialVersionUID:J
        24: .line 123
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           12   16     0   act  Lcom/sun/jmx/mbeanserver/GetPropertyAction;
           13   16     1  form  Ljava/lang/String;
      Exception table:
        from    to  target  type
          11    16      17  Class java.lang.Exception

  public void <init>(java.lang.String, javax.management.relation.RoleInfo[]);
    descriptor: (Ljava/lang/String;[Ljavax/management/relation/RoleInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // java.lang.String relationTypeName
        start local 2 // javax.management.relation.RoleInfo[] roleInfoArray
         0: .line 166
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 134
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationTypeSupport.typeName:Ljava/lang/String;
         2: .line 140
            aload 0 /* this */
         3: .line 141
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
         4: .line 147
            aload 0 /* this */
            iconst_0
            putfield javax.management.relation.RelationTypeSupport.isInRelationService:Z
         5: .line 171
            aload 1 /* relationTypeName */
            ifnull 6
            aload 2 /* roleInfoArray */
            ifnonnull 8
         6: .line 172
      StackMap locals: javax.management.relation.RelationTypeSupport java.lang.String javax.management.relation.RoleInfo[]
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         7: .line 173
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String excMsg
         8: .line 176
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 180
            aload 0 /* this */
            aload 1 /* relationTypeName */
            aload 2 /* roleInfoArray */
            invokevirtual javax.management.relation.RelationTypeSupport.initMembers:(Ljava/lang/String;[Ljavax/management/relation/RoleInfo;)V
        10: .line 182
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        11: .line 183
            return
        end local 2 // javax.management.relation.RoleInfo[] roleInfoArray
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Ljavax/management/relation/RelationTypeSupport;
            0   12     1  relationTypeName  Ljava/lang/String;
            0   12     2     roleInfoArray  [Ljavax/management/relation/RoleInfo;
            7    8     3            excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.InvalidRelationTypeException
    MethodParameters:
                  Name  Flags
      relationTypeName  
      roleInfoArray     

  protected void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // java.lang.String relationTypeName
         0: .line 193
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 134
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationTypeSupport.typeName:Ljava/lang/String;
         2: .line 140
            aload 0 /* this */
         3: .line 141
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
         4: .line 147
            aload 0 /* this */
            iconst_0
            putfield javax.management.relation.RelationTypeSupport.isInRelationService:Z
         5: .line 195
            aload 1 /* relationTypeName */
            ifnonnull 8
         6: .line 196
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         7: .line 197
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String excMsg
         8: .line 200
      StackMap locals: javax.management.relation.RelationTypeSupport java.lang.String
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 202
            aload 0 /* this */
            aload 1 /* relationTypeName */
            putfield javax.management.relation.RelationTypeSupport.typeName:Ljava/lang/String;
        10: .line 204
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        11: .line 205
            return
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Ljavax/management/relation/RelationTypeSupport;
            0   12     1  relationTypeName  Ljava/lang/String;
            7    8     2            excMsg  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      relationTypeName  

  public java.lang.String getRelationTypeName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.relation.RelationTypeSupport this
         0: .line 218
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.typeName:Ljava/lang/String;
            areturn
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationTypeSupport;

  public java.util.List<javax.management.relation.RoleInfo> getRoleInfos();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.relation.RelationTypeSupport this
         0: .line 225
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationTypeSupport;
    Signature: ()Ljava/util/List<Ljavax/management/relation/RoleInfo;>;

  public javax.management.relation.RoleInfo getRoleInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/management/relation/RoleInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // java.lang.String roleInfoName
         0: .line 245
            aload 1 /* roleInfoName */
            ifnonnull 3
         1: .line 246
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 247
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String excMsg
         3: .line 250
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* roleInfoName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 253
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
            aload 1 /* roleInfoName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.relation.RoleInfo
            astore 2 /* result */
        start local 2 // javax.management.relation.RoleInfo result
         5: .line 255
            aload 2 /* result */
            ifnonnull 11
         6: .line 256
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* excMsgStrB */
        start local 3 // java.lang.StringBuilder excMsgStrB
         7: .line 257
            ldc "No role info for role "
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         8: .line 258
            aload 3 /* excMsgStrB */
            aload 4 /* excMsg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 259
            aload 3 /* excMsgStrB */
            aload 1 /* roleInfoName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 260
            new javax.management.relation.RoleInfoNotFoundException
            dup
            aload 3 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.RoleInfoNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String excMsg
        end local 3 // java.lang.StringBuilder excMsgStrB
        11: .line 263
      StackMap locals: javax.management.relation.RoleInfo
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        12: .line 264
            aload 2 /* result */
            areturn
        end local 2 // javax.management.relation.RoleInfo result
        end local 1 // java.lang.String roleInfoName
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Ljavax/management/relation/RelationTypeSupport;
            0   13     1  roleInfoName  Ljava/lang/String;
            2    3     2        excMsg  Ljava/lang/String;
            5   13     2        result  Ljavax/management/relation/RoleInfo;
            7   11     3    excMsgStrB  Ljava/lang/StringBuilder;
            8   11     4        excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleInfoNotFoundException
    MethodParameters:
              Name  Flags
      roleInfoName  

  protected void addRoleInfo(javax.management.relation.RoleInfo);
    descriptor: (Ljavax/management/relation/RoleInfo;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // javax.management.relation.RoleInfo roleInfo
         0: .line 289
            aload 1 /* roleInfo */
            ifnonnull 3
         1: .line 290
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 291
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String excMsg
         3: .line 294
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* roleInfo */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 296
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.isInRelationService:Z
            ifeq 7
         5: .line 298
            ldc "Relation type cannot be updated as it is declared in the Relation Service."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         6: .line 299
            new java.lang.RuntimeException
            dup
            aload 2 /* excMsg */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String excMsg
         7: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.getName:()Ljava/lang/String;
            astore 2 /* roleName */
        start local 2 // java.lang.String roleName
         8: .line 305
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
            aload 2 /* roleName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 14
         9: .line 306
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* excMsgStrB */
        start local 3 // java.lang.StringBuilder excMsgStrB
        10: .line 307
            ldc "Two role infos provided for role "
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
        11: .line 308
            aload 3 /* excMsgStrB */
            aload 4 /* excMsg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 309
            aload 3 /* excMsgStrB */
            aload 2 /* roleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 310
            new javax.management.relation.InvalidRelationTypeException
            dup
            aload 3 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.InvalidRelationTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String excMsg
        end local 3 // java.lang.StringBuilder excMsgStrB
        14: .line 313
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
            aload 2 /* roleName */
            new javax.management.relation.RoleInfo
            dup
            aload 1 /* roleInfo */
            invokespecial javax.management.relation.RoleInfo.<init>:(Ljavax/management/relation/RoleInfo;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 315
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        16: .line 316
            return
        end local 2 // java.lang.String roleName
        end local 1 // javax.management.relation.RoleInfo roleInfo
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Ljavax/management/relation/RelationTypeSupport;
            0   17     1    roleInfo  Ljavax/management/relation/RoleInfo;
            2    3     2      excMsg  Ljava/lang/String;
            6    7     2      excMsg  Ljava/lang/String;
            8   17     2    roleName  Ljava/lang/String;
           10   14     3  excMsgStrB  Ljava/lang/StringBuilder;
           11   14     4      excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.InvalidRelationTypeException
    MethodParameters:
          Name  Flags
      roleInfo  

  void setRelationServiceFlag(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // boolean flag
         0: .line 322
            aload 0 /* this */
            iload 1 /* flag */
            putfield javax.management.relation.RelationTypeSupport.isInRelationService:Z
         1: .line 323
            return
        end local 1 // boolean flag
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/relation/RelationTypeSupport;
            0    2     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  private void initMembers(java.lang.String, javax.management.relation.RoleInfo[]);
    descriptor: (Ljava/lang/String;[Ljavax/management/relation/RoleInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // java.lang.String relationTypeName
        start local 2 // javax.management.relation.RoleInfo[] roleInfoArray
         0: .line 341
            aload 1 /* relationTypeName */
            ifnull 1
            aload 2 /* roleInfoArray */
            ifnonnull 3
         1: .line 342
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 343
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String excMsg
         3: .line 346
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 348
            aload 0 /* this */
            aload 1 /* relationTypeName */
            putfield javax.management.relation.RelationTypeSupport.typeName:Ljava/lang/String;
         5: .line 352
            aload 2 /* roleInfoArray */
            invokestatic javax.management.relation.RelationTypeSupport.checkRoleInfos:([Ljavax/management/relation/RoleInfo;)V
         6: .line 354
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: goto 13
         8: .line 355
      StackMap locals: int
      StackMap stack:
            aload 2 /* roleInfoArray */
            iload 3 /* i */
            aaload
            astore 4 /* currRoleInfo */
        start local 4 // javax.management.relation.RoleInfo currRoleInfo
         9: .line 356
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
            aload 4 /* currRoleInfo */
            invokevirtual javax.management.relation.RoleInfo.getName:()Ljava/lang/String;
        10: .line 357
            new javax.management.relation.RoleInfo
            dup
            aload 4 /* currRoleInfo */
            invokespecial javax.management.relation.RoleInfo.<init>:(Ljavax/management/relation/RoleInfo;)V
        11: .line 356
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // javax.management.relation.RoleInfo currRoleInfo
        12: .line 354
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 2 /* roleInfoArray */
            arraylength
            if_icmplt 8
        end local 3 // int i
        14: .line 360
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        15: .line 361
            return
        end local 2 // javax.management.relation.RoleInfo[] roleInfoArray
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Ljavax/management/relation/RelationTypeSupport;
            0   16     1  relationTypeName  Ljava/lang/String;
            0   16     2     roleInfoArray  [Ljavax/management/relation/RoleInfo;
            2    3     3            excMsg  Ljava/lang/String;
            7   14     3                 i  I
            9   12     4      currRoleInfo  Ljavax/management/relation/RoleInfo;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.InvalidRelationTypeException
    MethodParameters:
                  Name  Flags
      relationTypeName  
      roleInfoArray     

  static void checkRoleInfos(javax.management.relation.RoleInfo[]);
    descriptor: ([Ljavax/management/relation/RoleInfo;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // javax.management.relation.RoleInfo[] roleInfoArray
         0: .line 380
            aload 0 /* roleInfoArray */
            ifnonnull 3
         1: .line 381
            ldc "Invalid parameter."
            astore 1 /* excMsg */
        start local 1 // java.lang.String excMsg
         2: .line 382
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String excMsg
         3: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* roleInfoArray */
            arraylength
            ifne 6
         4: .line 387
            ldc "No role info provided."
            astore 1 /* excMsg */
        start local 1 // java.lang.String excMsg
         5: .line 388
            new javax.management.relation.InvalidRelationTypeException
            dup
            aload 1 /* excMsg */
            invokespecial javax.management.relation.InvalidRelationTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String excMsg
         6: .line 392
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* roleNames */
        start local 1 // java.util.Set roleNames
         7: .line 394
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         8: goto 22
         9: .line 395
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 0 /* roleInfoArray */
            iload 2 /* i */
            aaload
            astore 3 /* currRoleInfo */
        start local 3 // javax.management.relation.RoleInfo currRoleInfo
        10: .line 397
            aload 3 /* currRoleInfo */
            ifnonnull 13
        11: .line 398
            ldc "Null role info provided."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
        12: .line 399
            new javax.management.relation.InvalidRelationTypeException
            dup
            aload 4 /* excMsg */
            invokespecial javax.management.relation.InvalidRelationTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String excMsg
        13: .line 402
      StackMap locals: javax.management.relation.RoleInfo
      StackMap stack:
            aload 3 /* currRoleInfo */
            invokevirtual javax.management.relation.RoleInfo.getName:()Ljava/lang/String;
            astore 4 /* roleName */
        start local 4 // java.lang.String roleName
        14: .line 405
            aload 1 /* roleNames */
            aload 4 /* roleName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 20
        15: .line 406
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* excMsgStrB */
        start local 5 // java.lang.StringBuilder excMsgStrB
        16: .line 407
            ldc "Two role infos provided for role "
            astore 6 /* excMsg */
        start local 6 // java.lang.String excMsg
        17: .line 408
            aload 5 /* excMsgStrB */
            aload 6 /* excMsg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 409
            aload 5 /* excMsgStrB */
            aload 4 /* roleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 410
            new javax.management.relation.InvalidRelationTypeException
            dup
            aload 5 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.InvalidRelationTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String excMsg
        end local 5 // java.lang.StringBuilder excMsgStrB
        20: .line 412
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* roleNames */
            aload 4 /* roleName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String roleName
        end local 3 // javax.management.relation.RoleInfo currRoleInfo
        21: .line 394
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 2 /* i */
            aload 0 /* roleInfoArray */
            arraylength
            if_icmplt 9
        end local 2 // int i
        23: .line 415
            return
        end local 1 // java.util.Set roleNames
        end local 0 // javax.management.relation.RoleInfo[] roleInfoArray
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0  roleInfoArray  [Ljavax/management/relation/RoleInfo;
            2    3     1         excMsg  Ljava/lang/String;
            5    6     1         excMsg  Ljava/lang/String;
            7   24     1      roleNames  Ljava/util/Set<Ljava/lang/String;>;
            8   23     2              i  I
           10   21     3   currRoleInfo  Ljavax/management/relation/RoleInfo;
           12   13     4         excMsg  Ljava/lang/String;
           14   21     4       roleName  Ljava/lang/String;
           16   20     5     excMsgStrB  Ljava/lang/StringBuilder;
           17   20     6         excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.InvalidRelationTypeException
    MethodParameters:
               Name  Flags
      roleInfoArray  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // java.io.ObjectInputStream in
         0: .line 424
            getstatic javax.management.relation.RelationTypeSupport.compat:Z
            ifeq 11
         1: .line 428
            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 429
            aload 0 /* this */
            aload 2 /* fields */
            ldc "myTypeName"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield javax.management.relation.RelationTypeSupport.typeName:Ljava/lang/String;
         3: .line 430
            aload 2 /* fields */
            ldc "myTypeName"
            invokevirtual java.io.ObjectInputStream$GetField.defaulted:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 432
            new java.lang.NullPointerException
            dup
            ldc "myTypeName"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 434
      StackMap locals: java.io.ObjectInputStream$GetField
      StackMap stack:
            aload 0 /* this */
            aload 2 /* fields */
            ldc "myRoleName2InfoMap"
            aconst_null
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            putfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
         6: .line 435
            aload 2 /* fields */
            ldc "myRoleName2InfoMap"
            invokevirtual java.io.ObjectInputStream$GetField.defaulted:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 437
            new java.lang.NullPointerException
            dup
            ldc "myRoleName2InfoMap"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 439
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* fields */
            ldc "myIsInRelServFlg"
            iconst_0
            invokevirtual java.io.ObjectInputStream$GetField.get:(Ljava/lang/String;Z)Z
            putfield javax.management.relation.RelationTypeSupport.isInRelationService:Z
         9: .line 440
            aload 2 /* fields */
            ldc "myIsInRelServFlg"
            invokevirtual java.io.ObjectInputStream$GetField.defaulted:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 442
            new java.lang.NullPointerException
            dup
            ldc "myIsInRelServFlg"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.ObjectInputStream$GetField fields
        11: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
        12: .line 451
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectInputStream in
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   13     0    this  Ljavax/management/relation/RelationTypeSupport;
            0   13     1      in  Ljava/io/ObjectInputStream;
            2   11     2  fields  Ljava/io/ObjectInputStream$GetField;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
      Name  Flags
      in    

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationTypeSupport this
        start local 1 // java.io.ObjectOutputStream out
         0: .line 459
            getstatic javax.management.relation.RelationTypeSupport.compat:Z
            ifeq 7
         1: .line 463
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.putFields:()Ljava/io/ObjectOutputStream$PutField;
            astore 2 /* fields */
        start local 2 // java.io.ObjectOutputStream$PutField fields
         2: .line 464
            aload 2 /* fields */
            ldc "myTypeName"
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.typeName:Ljava/lang/String;
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 465
            aload 2 /* fields */
            ldc "myRoleName2InfoMap"
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.roleName2InfoMap:Ljava/util/Map;
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 466
            aload 2 /* fields */
            ldc "myIsInRelServFlg"
            aload 0 /* this */
            getfield javax.management.relation.RelationTypeSupport.isInRelationService:Z
            invokevirtual java.io.ObjectOutputStream$PutField.put:(Ljava/lang/String;Z)V
         5: .line 467
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.writeFields:()V
        end local 2 // java.io.ObjectOutputStream$PutField fields
         6: .line 468
            goto 8
         7: .line 473
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
         8: .line 475
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.ObjectOutputStream out
        end local 0 // javax.management.relation.RelationTypeSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavax/management/relation/RelationTypeSupport;
            0    9     1     out  Ljava/io/ObjectOutputStream;
            2    6     2  fields  Ljava/io/ObjectOutputStream$PutField;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   
}
SourceFile: "RelationTypeSupport.java"
InnerClasses:
  public abstract GetField = java.io.ObjectInputStream$GetField of java.io.ObjectInputStream
  public abstract PutField = java.io.ObjectOutputStream$PutField of java.io.ObjectOutputStream
  public abstract Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger