public class javax.management.relation.RelationSupport implements javax.management.relation.RelationSupportMBean, javax.management.MBeanRegistration
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.relation.RelationSupport
  super_class: java.lang.Object
{
  private java.lang.String myRelId;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private javax.management.ObjectName myRelServiceName;
    descriptor: Ljavax/management/ObjectName;
    flags: (0x0002) ACC_PRIVATE

  private javax.management.MBeanServer myRelServiceMBeanServer;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x0002) ACC_PRIVATE

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

  private final java.util.Map<java.lang.String, javax.management.relation.Role> myRoleName2ValueMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljavax/management/relation/Role;>;

  private final java.util.concurrent.atomic.AtomicBoolean myInRelServFlg;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.lang.String, javax.management.ObjectName, java.lang.String, javax.management.relation.RoleList);
    descriptor: (Ljava/lang/String;Ljavax/management/ObjectName;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.ObjectName relationServiceName
        start local 3 // java.lang.String relationTypeName
        start local 4 // javax.management.relation.RoleList list
         0: .line 163
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelId:Ljava/lang/String;
         2: .line 87
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
         3: .line 99
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
         4: .line 103
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
         5: .line 111
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
         6: .line 114
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield javax.management.relation.RelationSupport.myInRelServFlg:Ljava/util/concurrent/atomic/AtomicBoolean;
         7: .line 165
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         8: .line 166
            ldc "RelationSupport"
         9: .line 165
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 169
            aload 0 /* this */
            aload 1 /* relationId */
        11: .line 170
            aload 2 /* relationServiceName */
        12: .line 171
            aconst_null
        13: .line 172
            aload 3 /* relationTypeName */
        14: .line 173
            aload 4 /* list */
        15: .line 169
            invokevirtual javax.management.relation.RelationSupport.initMembers:(Ljava/lang/String;Ljavax/management/ObjectName;Ljavax/management/MBeanServer;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
        16: .line 175
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        17: .line 176
            ldc "RelationSupport"
        18: .line 175
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        19: .line 177
            return
        end local 4 // javax.management.relation.RoleList list
        end local 3 // java.lang.String relationTypeName
        end local 2 // javax.management.ObjectName relationServiceName
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   20     0                 this  Ljavax/management/relation/RelationSupport;
            0   20     1           relationId  Ljava/lang/String;
            0   20     2  relationServiceName  Ljavax/management/ObjectName;
            0   20     3     relationTypeName  Ljava/lang/String;
            0   20     4                 list  Ljavax/management/relation/RoleList;
    Exceptions:
      throws javax.management.relation.InvalidRoleValueException, java.lang.IllegalArgumentException
    MethodParameters:
                     Name  Flags
      relationId           
      relationServiceName  
      relationTypeName     
      list                 

  public void <init>(java.lang.String, javax.management.ObjectName, javax.management.MBeanServer, java.lang.String, javax.management.relation.RoleList);
    descriptor: (Ljava/lang/String;Ljavax/management/ObjectName;Ljavax/management/MBeanServer;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.ObjectName relationServiceName
        start local 3 // javax.management.MBeanServer relationServiceMBeanServer
        start local 4 // java.lang.String relationTypeName
        start local 5 // javax.management.relation.RoleList list
         0: .line 235
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelId:Ljava/lang/String;
         2: .line 87
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
         3: .line 99
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
         4: .line 103
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
         5: .line 111
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
         6: .line 114
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield javax.management.relation.RelationSupport.myInRelServFlg:Ljava/util/concurrent/atomic/AtomicBoolean;
         7: .line 237
            aload 3 /* relationServiceMBeanServer */
            ifnonnull 10
         8: .line 238
            ldc "Invalid parameter."
            astore 6 /* excMsg */
        start local 6 // java.lang.String excMsg
         9: .line 239
            new java.lang.IllegalArgumentException
            dup
            aload 6 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String excMsg
        10: .line 242
      StackMap locals: javax.management.relation.RelationSupport java.lang.String javax.management.ObjectName javax.management.MBeanServer java.lang.String javax.management.relation.RoleList
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        11: .line 243
            ldc "RelationSupport"
        12: .line 242
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 247
            aload 0 /* this */
            aload 1 /* relationId */
        14: .line 248
            aload 2 /* relationServiceName */
        15: .line 249
            aload 3 /* relationServiceMBeanServer */
        16: .line 250
            aload 4 /* relationTypeName */
        17: .line 251
            aload 5 /* list */
        18: .line 247
            invokevirtual javax.management.relation.RelationSupport.initMembers:(Ljava/lang/String;Ljavax/management/ObjectName;Ljavax/management/MBeanServer;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
        19: .line 253
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        20: .line 254
            ldc "RelationSupport"
        21: .line 253
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 255
            return
        end local 5 // javax.management.relation.RoleList list
        end local 4 // java.lang.String relationTypeName
        end local 3 // javax.management.MBeanServer relationServiceMBeanServer
        end local 2 // javax.management.ObjectName relationServiceName
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   23     0                        this  Ljavax/management/relation/RelationSupport;
            0   23     1                  relationId  Ljava/lang/String;
            0   23     2         relationServiceName  Ljavax/management/ObjectName;
            0   23     3  relationServiceMBeanServer  Ljavax/management/MBeanServer;
            0   23     4            relationTypeName  Ljava/lang/String;
            0   23     5                        list  Ljavax/management/relation/RoleList;
            9   10     6                      excMsg  Ljava/lang/String;
    Exceptions:
      throws javax.management.relation.InvalidRoleValueException, java.lang.IllegalArgumentException
    MethodParameters:
                            Name  Flags
      relationId                  
      relationServiceName         
      relationServiceMBeanServer  
      relationTypeName            
      list                        

  public java.util.List<javax.management.ObjectName> getRole(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String roleName
         0: .line 284
            aload 1 /* roleName */
            ifnonnull 3
         1: .line 285
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 286
            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 289
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 290
            ldc "getRole"
            aload 1 /* roleName */
         5: .line 289
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 295
            aload 0 /* this */
            aload 1 /* roleName */
            iconst_0
            aconst_null
            iconst_0
            invokevirtual javax.management.relation.RelationSupport.getRoleInt:(Ljava/lang/String;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
         7: .line 294
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 2 /* result */
        start local 2 // java.util.List result
         8: .line 297
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getRole"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 298
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // java.lang.String roleName
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljavax/management/relation/RelationSupport;
            0   10     1  roleName  Ljava/lang/String;
            2    3     2    excMsg  Ljava/lang/String;
            8   10     2    result  Ljava/util/List<Ljavax/management/ObjectName;>;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.RelationServiceNotRegisteredException
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljavax/management/ObjectName;>;
    MethodParameters:
          Name  Flags
      roleName  

  public javax.management.relation.RoleResult getRoles(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljavax/management/relation/RoleResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String[] roleNameArray
         0: .line 322
            aload 1 /* roleNameArray */
            ifnonnull 3
         1: .line 323
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 324
            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 327
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getRoles"
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 330
            aload 0 /* this */
            aload 1 /* roleNameArray */
            iconst_0
            aconst_null
            invokevirtual javax.management.relation.RelationSupport.getRolesInt:([Ljava/lang/String;ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
            astore 2 /* result */
        start local 2 // javax.management.relation.RoleResult result
         5: .line 332
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getRoles"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 333
            aload 2 /* result */
            areturn
        end local 2 // javax.management.relation.RoleResult result
        end local 1 // java.lang.String[] roleNameArray
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljavax/management/relation/RelationSupport;
            0    7     1  roleNameArray  [Ljava/lang/String;
            2    3     2         excMsg  Ljava/lang/String;
            5    7     2         result  Ljavax/management/relation/RoleResult;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException
    MethodParameters:
               Name  Flags
      roleNameArray  

  public javax.management.relation.RoleResult getAllRoles();
    descriptor: ()Ljavax/management/relation/RoleResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.management.relation.RelationSupport this
         0: .line 349
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 350
            ldc "getAllRoles"
         2: .line 349
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 352
            aconst_null
            astore 1 /* result */
        start local 1 // javax.management.relation.RoleResult result
         4: .line 354
            aload 0 /* this */
            iconst_0
            aconst_null
            invokevirtual javax.management.relation.RelationSupport.getAllRolesInt:(ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
            astore 1 /* result */
         5: .line 355
            goto 7
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleResult
      StackMap stack: java.lang.IllegalArgumentException
         6: pop
         7: .line 359
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getAllRoles"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 360
            aload 1 /* result */
            areturn
        end local 1 // javax.management.relation.RoleResult result
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavax/management/relation/RelationSupport;
            4    9     1  result  Ljavax/management/relation/RoleResult;
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.IllegalArgumentException
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException

  public javax.management.relation.RoleList retrieveAllRoles();
    descriptor: ()Ljavax/management/relation/RoleList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // javax.management.relation.RelationSupport this
         0: .line 370
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 371
            ldc "retrieveAllRoles"
         2: .line 370
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 374
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         4: .line 376
            new javax.management.relation.RoleList
            dup
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokespecial javax.management.relation.RoleList.<init>:(Ljava/util/List;)V
         5: .line 375
            astore 1 /* result */
        start local 1 // javax.management.relation.RoleList result
         6: .line 374
            aload 2
            monitorexit
         7: goto 10
        end local 1 // javax.management.relation.RoleList result
      StackMap locals: javax.management.relation.RelationSupport top java.util.Map
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        start local 1 // javax.management.relation.RoleList result
        10: .line 379
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        11: .line 380
            ldc "retrieveAllRoles"
        12: .line 379
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 381
            aload 1 /* result */
            areturn
        end local 1 // javax.management.relation.RoleList result
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Ljavax/management/relation/RelationSupport;
            6    8     1  result  Ljavax/management/relation/RoleList;
           10   14     1  result  Ljavax/management/relation/RoleList;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any

  public java.lang.Integer getRoleCardinality(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String roleName
         0: .line 398
            aload 1 /* roleName */
            ifnonnull 3
         1: .line 399
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 400
            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 403
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 404
            ldc "getRoleCardinality"
            aload 1 /* roleName */
         5: .line 403
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 408
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         7: .line 410
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            aload 1 /* roleName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 2 /* role */
        start local 2 // javax.management.relation.Role role
         8: .line 408
            aload 3
            monitorexit
         9: goto 12
        end local 2 // javax.management.relation.Role role
      StackMap locals: javax.management.relation.RelationSupport java.lang.String top java.util.Map
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        start local 2 // javax.management.relation.Role role
        12: .line 412
      StackMap locals: javax.management.relation.RelationSupport java.lang.String javax.management.relation.Role
      StackMap stack:
            aload 2 /* role */
            ifnonnull 19
        13: .line 413
            iconst_1
            istore 3 /* pbType */
        start local 3 // int pbType
        14: .line 419
            iload 3 /* pbType */
        15: .line 420
            aload 1 /* roleName */
        16: .line 419
            invokestatic javax.management.relation.RelationService.throwRoleProblemException:(ILjava/lang/String;)V
        17: .line 421
            goto 19
      StackMap locals: javax.management.relation.RelationSupport java.lang.String javax.management.relation.Role int
      StackMap stack: javax.management.relation.InvalidRoleValueException
        18: pop
        end local 3 // int pbType
        19: .line 427
      StackMap locals:
      StackMap stack:
            aload 2 /* role */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 3 /* roleValue */
        start local 3 // java.util.List roleValue
        20: .line 429
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        21: .line 430
            ldc "getRoleCardinality"
        22: .line 429
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        23: .line 431
            aload 3 /* roleValue */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 3 // java.util.List roleValue
        end local 2 // javax.management.relation.Role role
        end local 1 // java.lang.String roleName
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Ljavax/management/relation/RelationSupport;
            0   24     1   roleName  Ljava/lang/String;
            2    3     2     excMsg  Ljava/lang/String;
            8   10     2       role  Ljavax/management/relation/Role;
           12   24     2       role  Ljavax/management/relation/Role;
           14   19     3     pbType  I
           20   24     3  roleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
      Exception table:
        from    to  target  type
           7     9      10  any
          10    11      10  any
          14    17      18  Class javax.management.relation.InvalidRoleValueException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException
    MethodParameters:
          Name  Flags
      roleName  

  public void setRole(javax.management.relation.Role);
    descriptor: (Ljavax/management/relation/Role;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.relation.Role role
         0: .line 474
            aload 1 /* role */
            ifnonnull 3
         1: .line 475
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 476
            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 479
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 480
            ldc "setRole"
            aload 1 /* role */
         5: .line 479
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 483
            aload 0 /* this */
            aload 1 /* role */
            iconst_0
            aconst_null
            iconst_0
            invokevirtual javax.management.relation.RelationSupport.setRoleInt:(Ljavax/management/relation/Role;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
            pop
         7: .line 485
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "setRole"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 486
            return
        end local 1 // javax.management.relation.Role role
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavax/management/relation/RelationSupport;
            0    9     1    role  Ljavax/management/relation/Role;
            2    3     2  excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.InvalidRoleValueException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationNotFoundException
    MethodParameters:
      Name  Flags
      role  

  public javax.management.relation.RoleResult setRoles(javax.management.relation.RoleList);
    descriptor: (Ljavax/management/relation/RoleList;)Ljavax/management/relation/RoleResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.relation.RoleList list
         0: .line 519
            aload 1 /* list */
            ifnonnull 3
         1: .line 520
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 521
            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 524
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 525
            ldc "setRoles"
            aload 1 /* list */
         5: .line 524
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 527
            aload 0 /* this */
            aload 1 /* list */
            iconst_0
            aconst_null
            invokevirtual javax.management.relation.RelationSupport.setRolesInt:(Ljavax/management/relation/RoleList;ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
            astore 2 /* result */
        start local 2 // javax.management.relation.RoleResult result
         7: .line 529
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "setRoles"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 530
            aload 2 /* result */
            areturn
        end local 2 // javax.management.relation.RoleResult result
        end local 1 // javax.management.relation.RoleList list
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljavax/management/relation/RelationSupport;
            0    9     1    list  Ljavax/management/relation/RoleList;
            2    3     2  excMsg  Ljava/lang/String;
            7    9     2  result  Ljavax/management/relation/RoleResult;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.RelationNotFoundException
    MethodParameters:
      Name  Flags
      list  

  public void handleMBeanUnregistration(javax.management.ObjectName, java.lang.String);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.ObjectName objectName
        start local 2 // java.lang.String roleName
         0: .line 568
            aload 1 /* objectName */
            ifnull 1
            aload 2 /* roleName */
            ifnonnull 3
         1: .line 569
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 570
            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 573
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 574
            ldc "handleMBeanUnregistration"
         5: .line 575
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* objectName */
            aastore
            dup
            iconst_1
            aload 2 /* roleName */
            aastore
         6: .line 573
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 579
            aload 0 /* this */
            aload 1 /* objectName */
         8: .line 580
            aload 2 /* roleName */
         9: .line 581
            iconst_0
        10: .line 582
            aconst_null
        11: .line 579
            invokevirtual javax.management.relation.RelationSupport.handleMBeanUnregistrationInt:(Ljavax/management/ObjectName;Ljava/lang/String;ZLjavax/management/relation/RelationService;)V
        12: .line 584
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        13: .line 585
            ldc "handleMBeanUnregistration"
        14: .line 584
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 586
            return
        end local 2 // java.lang.String roleName
        end local 1 // javax.management.ObjectName objectName
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljavax/management/relation/RelationSupport;
            0   16     1  objectName  Ljavax/management/ObjectName;
            0   16     2    roleName  Ljava/lang/String;
            2    3     3      excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRoleValueException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.RelationNotFoundException
    MethodParameters:
            Name  Flags
      objectName  
      roleName    

  public java.util.Map<javax.management.ObjectName, java.util.List<java.lang.String>> getReferencedMBeans();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=1
        start local 0 // javax.management.relation.RelationSupport this
         0: .line 597
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 598
            ldc "getReferencedMBeans"
         2: .line 597
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 601
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
         4: .line 600
            astore 1 /* refMBeanMap */
        start local 1 // java.util.Map refMBeanMap
         5: .line 603
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         6: .line 605
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 22
      StackMap locals: javax.management.relation.RelationSupport java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 3 /* currRole */
        start local 3 // javax.management.relation.Role currRole
         8: .line 607
            aload 3 /* currRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 5 /* currRoleName */
        start local 5 // java.lang.String currRoleName
         9: .line 609
            aload 3 /* currRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 6 /* currRefMBeanList */
        start local 6 // java.util.List currRefMBeanList
        10: .line 611
            aload 6 /* currRefMBeanList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: javax.management.relation.RelationSupport java.util.Map java.util.Map javax.management.relation.Role java.util.Iterator java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        11: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 7 /* currRoleObjName */
        start local 7 // javax.management.ObjectName currRoleObjName
        12: .line 616
            aload 1 /* refMBeanMap */
            aload 7 /* currRoleObjName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
        13: .line 615
            astore 9 /* mbeanRoleNameList */
        start local 9 // java.util.List mbeanRoleNameList
        14: .line 618
            iconst_0
            istore 10 /* newRefFlg */
        start local 10 // boolean newRefFlg
        15: .line 619
            aload 9 /* mbeanRoleNameList */
            ifnonnull 18
        16: .line 620
            iconst_1
            istore 10 /* newRefFlg */
        17: .line 621
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* mbeanRoleNameList */
        18: .line 623
      StackMap locals: javax.management.relation.RelationSupport java.util.Map java.util.Map javax.management.relation.Role java.util.Iterator java.lang.String java.util.List javax.management.ObjectName java.util.Iterator java.util.List int
      StackMap stack:
            aload 9 /* mbeanRoleNameList */
            aload 5 /* currRoleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 624
            iload 10 /* newRefFlg */
            ifeq 21
        20: .line 625
            aload 1 /* refMBeanMap */
            aload 7 /* currRoleObjName */
            aload 9 /* mbeanRoleNameList */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 10 // boolean newRefFlg
        end local 9 // java.util.List mbeanRoleNameList
        end local 7 // javax.management.ObjectName currRoleObjName
        21: .line 611
      StackMap locals: javax.management.relation.RelationSupport java.util.Map java.util.Map javax.management.relation.Role java.util.Iterator java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 6 // java.util.List currRefMBeanList
        end local 5 // java.lang.String currRoleName
        end local 3 // javax.management.relation.Role currRole
        22: .line 605
      StackMap locals: javax.management.relation.RelationSupport java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        23: .line 603
            aload 2
            monitorexit
        24: goto 27
      StackMap locals: javax.management.relation.RelationSupport java.util.Map java.util.Map
      StackMap stack: java.lang.Throwable
        25: aload 2
            monitorexit
        26: athrow
        27: .line 631
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        28: .line 632
            ldc "getReferencedMBeans"
        29: .line 631
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        30: .line 633
            aload 1 /* refMBeanMap */
            areturn
        end local 1 // java.util.Map refMBeanMap
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   31     0               this  Ljavax/management/relation/RelationSupport;
            5   31     1        refMBeanMap  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
            8   22     3           currRole  Ljavax/management/relation/Role;
            9   22     5       currRoleName  Ljava/lang/String;
           10   22     6   currRefMBeanList  Ljava/util/List<Ljavax/management/ObjectName;>;
           12   21     7    currRoleObjName  Ljavax/management/ObjectName;
           14   21     9  mbeanRoleNameList  Ljava/util/List<Ljava/lang/String;>;
           15   21    10          newRefFlg  Z
      Exception table:
        from    to  target  type
           6    24      25  any
          25    26      25  any
    Signature: ()Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;

  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.RelationSupport this
         0: .line 640
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
            areturn
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationSupport;

  public javax.management.ObjectName getRelationServiceName();
    descriptor: ()Ljavax/management/ObjectName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.relation.RelationSupport this
         0: .line 649
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
            areturn
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationSupport;

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

  public javax.management.ObjectName preRegister(javax.management.MBeanServer, javax.management.ObjectName);
    descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.MBeanServer server
        start local 2 // javax.management.ObjectName name
         0: .line 676
            aload 0 /* this */
            aload 1 /* server */
            putfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
         1: .line 677
            aload 2 /* name */
            areturn
        end local 2 // javax.management.ObjectName name
        end local 1 // javax.management.MBeanServer server
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/management/relation/RelationSupport;
            0    2     1  server  Ljavax/management/MBeanServer;
            0    2     2    name  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      server  
      name    

  public void postRegister(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.Boolean registrationDone
         0: .line 682
            return
        end local 1 // java.lang.Boolean registrationDone
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljavax/management/relation/RelationSupport;
            0    1     1  registrationDone  Ljava/lang/Boolean;
    MethodParameters:
                  Name  Flags
      registrationDone  

  public void preDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javax.management.relation.RelationSupport this
         0: .line 688
            return
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationSupport;
    Exceptions:
      throws java.lang.Exception

  public void postDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javax.management.relation.RelationSupport this
         0: .line 693
            return
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationSupport;

  public java.lang.Boolean isInRelationService();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.relation.RelationSupport this
         0: .line 705
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myInRelServFlg:Ljava/util/concurrent/atomic/AtomicBoolean;
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationSupport;

  public void setRelationServiceManagementFlag(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.Boolean flag
         0: .line 711
            aload 1 /* flag */
            ifnonnull 3
         1: .line 712
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 713
            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 715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myInRelServFlg:Ljava/util/concurrent/atomic/AtomicBoolean;
            aload 1 /* flag */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         4: .line 716
            return
        end local 1 // java.lang.Boolean flag
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavax/management/relation/RelationSupport;
            0    5     1    flag  Ljava/lang/Boolean;
            2    3     2  excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      flag  

  java.lang.Object getRoleInt(java.lang.String, boolean, javax.management.relation.RelationService, boolean);
    descriptor: (Ljava/lang/String;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String roleName
        start local 2 // boolean relationServCallFlg
        start local 3 // javax.management.relation.RelationService relationServ
        start local 4 // boolean multiRoleFlg
         0: .line 776
            aload 1 /* roleName */
            ifnull 2
         1: .line 777
            iload 2 /* relationServCallFlg */
            ifeq 4
            aload 3 /* relationServ */
            ifnonnull 4
         2: .line 778
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
         3: .line 779
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String excMsg
         4: .line 782
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 783
            ldc "getRoleInt"
            aload 1 /* roleName */
         6: .line 782
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 785
            iconst_0
            istore 5 /* pbType */
        start local 5 // int pbType
         8: .line 788
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 7
            monitorenter
         9: .line 790
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            aload 1 /* roleName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 6 /* role */
        start local 6 // javax.management.relation.Role role
        10: .line 788
            aload 7
            monitorexit
        11: goto 14
        end local 6 // javax.management.relation.Role role
      StackMap locals: javax.management.relation.RelationSupport java.lang.String int javax.management.relation.RelationService int int top java.util.Map
      StackMap stack: java.lang.Throwable
        12: aload 7
            monitorexit
        13: athrow
        start local 6 // javax.management.relation.Role role
        14: .line 793
      StackMap locals: javax.management.relation.RelationSupport java.lang.String int javax.management.relation.RelationService int int javax.management.relation.Role
      StackMap stack:
            aload 6 /* role */
            ifnonnull 17
        15: .line 794
            iconst_1
            istore 5 /* pbType */
        16: .line 796
            goto 46
        17: .line 800
      StackMap locals:
      StackMap stack:
            iload 2 /* relationServCallFlg */
            ifeq 24
        18: .line 806
            aload 3 /* relationServ */
            aload 1 /* roleName */
        19: .line 807
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
        20: .line 806
            invokevirtual javax.management.relation.RelationService.checkRoleReading:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Integer;
            astore 7 /* status */
        start local 7 // java.lang.Integer status
        21: .line 808
            goto 45
        end local 7 // java.lang.Integer status
      StackMap locals:
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
        22: astore 8 /* exc */
        start local 8 // javax.management.relation.RelationTypeNotFoundException exc
        23: .line 809
            new java.lang.RuntimeException
            dup
            aload 8 /* exc */
            invokevirtual javax.management.relation.RelationTypeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // javax.management.relation.RelationTypeNotFoundException exc
        24: .line 817
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.Object
            astore 8 /* params */
        start local 8 // java.lang.Object[] params
        25: .line 818
            aload 8 /* params */
            iconst_0
            aload 1 /* roleName */
            aastore
        26: .line 819
            aload 8 /* params */
            iconst_1
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
            aastore
        27: .line 820
            iconst_2
            anewarray java.lang.String
            astore 9 /* signature */
        start local 9 // java.lang.String[] signature
        28: .line 821
            aload 9 /* signature */
            iconst_0
            ldc "java.lang.String"
            aastore
        29: .line 822
            aload 9 /* signature */
            iconst_1
            ldc "java.lang.String"
            aastore
        30: .line 831
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
        31: .line 832
            ldc "checkRoleReading"
        32: .line 833
            aload 8 /* params */
        33: .line 834
            aload 9 /* signature */
        34: .line 831
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        35: .line 830
            checkcast java.lang.Integer
            astore 7 /* status */
        start local 7 // java.lang.Integer status
        36: .line 835
            goto 45
        end local 7 // java.lang.Integer status
      StackMap locals: javax.management.relation.RelationSupport java.lang.String int javax.management.relation.RelationService int int javax.management.relation.Role top java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.MBeanException
        37: pop
        38: .line 836
            new java.lang.RuntimeException
            dup
            ldc "incorrect relation type"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 837
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 10 /* exc2 */
        start local 10 // javax.management.ReflectionException exc2
        40: .line 838
            new java.lang.RuntimeException
            dup
            aload 10 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // javax.management.ReflectionException exc2
        41: .line 839
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
            astore 10 /* exc3 */
        start local 10 // javax.management.InstanceNotFoundException exc3
        42: .line 840
            new javax.management.relation.RelationServiceNotRegisteredException
            dup
        43: .line 841
            aload 10 /* exc3 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
        44: .line 840
            invokespecial javax.management.relation.RelationServiceNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // javax.management.InstanceNotFoundException exc3
        end local 9 // java.lang.String[] signature
        end local 8 // java.lang.Object[] params
        start local 7 // java.lang.Integer status
        45: .line 845
      StackMap locals: javax.management.relation.RelationSupport java.lang.String int javax.management.relation.RelationService int int javax.management.relation.Role java.lang.Integer
      StackMap stack:
            aload 7 /* status */
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* pbType */
        end local 7 // java.lang.Integer status
        46: .line 850
      StackMap locals:
      StackMap stack:
            iload 5 /* pbType */
            ifne 52
        47: .line 853
            iload 4 /* multiRoleFlg */
            ifne 50
        48: .line 858
            new java.util.ArrayList
            dup
            aload 6 /* role */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 7 /* result */
        start local 7 // java.lang.Object result
        49: .line 860
            goto 60
        end local 7 // java.lang.Object result
        50: .line 863
      StackMap locals:
      StackMap stack:
            aload 6 /* role */
            invokevirtual javax.management.relation.Role.clone:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 7 /* result */
        start local 7 // java.lang.Object result
        51: .line 866
            goto 60
        end local 7 // java.lang.Object result
        52: .line 869
      StackMap locals:
      StackMap stack:
            iload 4 /* multiRoleFlg */
            ifne 59
        53: .line 873
            iload 5 /* pbType */
        54: .line 874
            aload 1 /* roleName */
        55: .line 873
            invokestatic javax.management.relation.RelationService.throwRoleProblemException:(ILjava/lang/String;)V
        56: .line 876
            aconst_null
            areturn
        57: .line 877
      StackMap locals:
      StackMap stack: javax.management.relation.InvalidRoleValueException
            astore 8 /* exc */
        start local 8 // javax.management.relation.InvalidRoleValueException exc
        58: .line 878
            new java.lang.RuntimeException
            dup
            aload 8 /* exc */
            invokevirtual javax.management.relation.InvalidRoleValueException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // javax.management.relation.InvalidRoleValueException exc
        59: .line 884
      StackMap locals:
      StackMap stack:
            new javax.management.relation.RoleUnresolved
            dup
            aload 1 /* roleName */
            aconst_null
            iload 5 /* pbType */
            invokespecial javax.management.relation.RoleUnresolved.<init>:(Ljava/lang/String;Ljava/util/List;I)V
            astore 7 /* result */
        start local 7 // java.lang.Object result
        60: .line 888
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getRoleInt"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        61: .line 889
            aload 7 /* result */
            areturn
        end local 7 // java.lang.Object result
        end local 6 // javax.management.relation.Role role
        end local 5 // int pbType
        end local 4 // boolean multiRoleFlg
        end local 3 // javax.management.relation.RelationService relationServ
        end local 2 // boolean relationServCallFlg
        end local 1 // java.lang.String roleName
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   62     0                 this  Ljavax/management/relation/RelationSupport;
            0   62     1             roleName  Ljava/lang/String;
            0   62     2  relationServCallFlg  Z
            0   62     3         relationServ  Ljavax/management/relation/RelationService;
            0   62     4         multiRoleFlg  Z
            3    4     5               excMsg  Ljava/lang/String;
            8   62     5               pbType  I
           10   12     6                 role  Ljavax/management/relation/Role;
           14   62     6                 role  Ljavax/management/relation/Role;
           21   22     7               status  Ljava/lang/Integer;
           36   37     7               status  Ljava/lang/Integer;
           45   46     7               status  Ljava/lang/Integer;
           23   24     8                  exc  Ljavax/management/relation/RelationTypeNotFoundException;
           25   45     8               params  [Ljava/lang/Object;
           28   45     9            signature  [Ljava/lang/String;
           40   41    10                 exc2  Ljavax/management/ReflectionException;
           42   45    10                 exc3  Ljavax/management/InstanceNotFoundException;
           49   50     7               result  Ljava/lang/Object;
           51   52     7               result  Ljava/lang/Object;
           60   62     7               result  Ljava/lang/Object;
           58   59     8                  exc  Ljavax/management/relation/InvalidRoleValueException;
      Exception table:
        from    to  target  type
           9    11      12  any
          12    13      12  any
          18    21      22  Class javax.management.relation.RelationTypeNotFoundException
          30    36      37  Class javax.management.MBeanException
          30    36      39  Class javax.management.ReflectionException
          30    36      41  Class javax.management.InstanceNotFoundException
          53    56      57  Class javax.management.relation.InvalidRoleValueException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.RelationServiceNotRegisteredException
    MethodParameters:
                     Name  Flags
      roleName             
      relationServCallFlg  
      relationServ         
      multiRoleFlg         

  javax.management.relation.RoleResult getRolesInt(java.lang.String[], boolean, javax.management.relation.RelationService);
    descriptor: ([Ljava/lang/String;ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String[] roleNameArray
        start local 2 // boolean relationServCallFlg
        start local 3 // javax.management.relation.RelationService relationServ
         0: .line 918
            aload 1 /* roleNameArray */
            ifnull 2
         1: .line 919
            iload 2 /* relationServCallFlg */
            ifeq 4
            aload 3 /* relationServ */
            ifnonnull 4
         2: .line 920
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         3: .line 921
            new java.lang.IllegalArgumentException
            dup
            aload 4 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String excMsg
         4: .line 924
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 925
            ldc "getRolesInt"
         6: .line 924
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 927
            new javax.management.relation.RoleList
            dup
            invokespecial javax.management.relation.RoleList.<init>:()V
            astore 4 /* roleList */
        start local 4 // javax.management.relation.RoleList roleList
         8: .line 928
            new javax.management.relation.RoleUnresolvedList
            dup
            invokespecial javax.management.relation.RoleUnresolvedList.<init>:()V
            astore 5 /* roleUnresList */
        start local 5 // javax.management.relation.RoleUnresolvedList roleUnresList
         9: .line 930
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        10: goto 31
        11: .line 931
      StackMap locals: javax.management.relation.RoleList javax.management.relation.RoleUnresolvedList int
      StackMap stack:
            aload 1 /* roleNameArray */
            iload 6 /* i */
            aaload
            astore 7 /* currRoleName */
        start local 7 // java.lang.String currRoleName
        12: .line 939
            aload 0 /* this */
            aload 7 /* currRoleName */
        13: .line 940
            iload 2 /* relationServCallFlg */
        14: .line 941
            aload 3 /* relationServ */
        15: .line 942
            iconst_1
        16: .line 939
            invokevirtual javax.management.relation.RelationSupport.getRoleInt:(Ljava/lang/String;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
            astore 8 /* currResult */
        start local 8 // java.lang.Object currResult
        17: .line 944
            goto 20
        end local 8 // java.lang.Object currResult
      StackMap locals: javax.management.relation.RelationSupport java.lang.String[] int javax.management.relation.RelationService javax.management.relation.RoleList javax.management.relation.RoleUnresolvedList int java.lang.String
      StackMap stack: javax.management.relation.RoleNotFoundException
        18: pop
        19: .line 945
            aconst_null
            areturn
        start local 8 // java.lang.Object currResult
        20: .line 948
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 8 /* currResult */
            instanceof javax.management.relation.Role
            ifeq 25
        21: .line 952
            aload 4 /* roleList */
            aload 8 /* currResult */
            checkcast javax.management.relation.Role
            invokevirtual javax.management.relation.RoleList.add:(Ljavax/management/relation/Role;)V
        22: .line 953
            goto 30
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        23: astore 9 /* exc */
        start local 9 // java.lang.IllegalArgumentException exc
        24: .line 954
            new java.lang.RuntimeException
            dup
            aload 9 /* exc */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.IllegalArgumentException exc
        25: .line 957
      StackMap locals:
      StackMap stack:
            aload 8 /* currResult */
            instanceof javax.management.relation.RoleUnresolved
            ifeq 30
        26: .line 961
            aload 5 /* roleUnresList */
            aload 8 /* currResult */
            checkcast javax.management.relation.RoleUnresolved
            invokevirtual javax.management.relation.RoleUnresolvedList.add:(Ljavax/management/relation/RoleUnresolved;)V
        27: .line 962
            goto 30
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        28: astore 9 /* exc */
        start local 9 // java.lang.IllegalArgumentException exc
        29: .line 963
            new java.lang.RuntimeException
            dup
            aload 9 /* exc */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.IllegalArgumentException exc
        end local 8 // java.lang.Object currResult
        end local 7 // java.lang.String currRoleName
        30: .line 930
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 6 /* i */
            aload 1 /* roleNameArray */
            arraylength
            if_icmplt 11
        end local 6 // int i
        32: .line 968
            new javax.management.relation.RoleResult
            dup
            aload 4 /* roleList */
            aload 5 /* roleUnresList */
            invokespecial javax.management.relation.RoleResult.<init>:(Ljavax/management/relation/RoleList;Ljavax/management/relation/RoleUnresolvedList;)V
            astore 6 /* result */
        start local 6 // javax.management.relation.RoleResult result
        33: .line 969
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        34: .line 970
            ldc "getRolesInt"
        35: .line 969
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        36: .line 971
            aload 6 /* result */
            areturn
        end local 6 // javax.management.relation.RoleResult result
        end local 5 // javax.management.relation.RoleUnresolvedList roleUnresList
        end local 4 // javax.management.relation.RoleList roleList
        end local 3 // javax.management.relation.RelationService relationServ
        end local 2 // boolean relationServCallFlg
        end local 1 // java.lang.String[] roleNameArray
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   37     0                 this  Ljavax/management/relation/RelationSupport;
            0   37     1        roleNameArray  [Ljava/lang/String;
            0   37     2  relationServCallFlg  Z
            0   37     3         relationServ  Ljavax/management/relation/RelationService;
            3    4     4               excMsg  Ljava/lang/String;
            8   37     4             roleList  Ljavax/management/relation/RoleList;
            9   37     5        roleUnresList  Ljavax/management/relation/RoleUnresolvedList;
           10   32     6                    i  I
           12   30     7         currRoleName  Ljava/lang/String;
           17   18     8           currResult  Ljava/lang/Object;
           20   30     8           currResult  Ljava/lang/Object;
           24   25     9                  exc  Ljava/lang/IllegalArgumentException;
           29   30     9                  exc  Ljava/lang/IllegalArgumentException;
           33   37     6               result  Ljavax/management/relation/RoleResult;
      Exception table:
        from    to  target  type
          12    17      18  Class javax.management.relation.RoleNotFoundException
          21    22      23  Class java.lang.IllegalArgumentException
          26    27      28  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException
    MethodParameters:
                     Name  Flags
      roleNameArray        
      relationServCallFlg  
      relationServ         

  javax.management.relation.RoleResult getAllRolesInt(boolean, javax.management.relation.RelationService);
    descriptor: (ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // boolean relationServCallFlg
        start local 2 // javax.management.relation.RelationService relationServ
         0: .line 989
            iload 1 /* relationServCallFlg */
            ifeq 3
            aload 2 /* relationServ */
            ifnonnull 3
         1: .line 990
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 991
            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 994
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 995
            ldc "getAllRolesInt"
         5: .line 994
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 998
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 4
            monitorenter
         7: .line 1000
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
         8: .line 999
            astore 3 /* roleNameList */
        start local 3 // java.util.List roleNameList
         9: .line 998
            aload 4
            monitorexit
        10: goto 13
        end local 3 // java.util.List roleNameList
      StackMap locals: javax.management.relation.RelationSupport int javax.management.relation.RelationService top java.util.Map
      StackMap stack: java.lang.Throwable
        11: aload 4
            monitorexit
        12: athrow
        start local 3 // java.util.List roleNameList
        13: .line 1002
      StackMap locals: javax.management.relation.RelationSupport int javax.management.relation.RelationService java.util.List
      StackMap stack:
            aload 3 /* roleNameList */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 4 /* roleNames */
        start local 4 // java.lang.String[] roleNames
        14: .line 1003
            aload 3 /* roleNameList */
            aload 4 /* roleNames */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        15: .line 1005
            aload 0 /* this */
            aload 4 /* roleNames */
        16: .line 1006
            iload 1 /* relationServCallFlg */
        17: .line 1007
            aload 2 /* relationServ */
        18: .line 1005
            invokevirtual javax.management.relation.RelationSupport.getRolesInt:([Ljava/lang/String;ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
            astore 5 /* result */
        start local 5 // javax.management.relation.RoleResult result
        19: .line 1009
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        20: .line 1010
            ldc "getAllRolesInt"
        21: .line 1009
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 1011
            aload 5 /* result */
            areturn
        end local 5 // javax.management.relation.RoleResult result
        end local 4 // java.lang.String[] roleNames
        end local 3 // java.util.List roleNameList
        end local 2 // javax.management.relation.RelationService relationServ
        end local 1 // boolean relationServCallFlg
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   23     0                 this  Ljavax/management/relation/RelationSupport;
            0   23     1  relationServCallFlg  Z
            0   23     2         relationServ  Ljavax/management/relation/RelationService;
            2    3     3               excMsg  Ljava/lang/String;
            9   11     3         roleNameList  Ljava/util/List<Ljava/lang/String;>;
           13   23     3         roleNameList  Ljava/util/List<Ljava/lang/String;>;
           14   23     4            roleNames  [Ljava/lang/String;
           19   23     5               result  Ljavax/management/relation/RoleResult;
      Exception table:
        from    to  target  type
           7    10      11  any
          11    12      11  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException
    MethodParameters:
                     Name  Flags
      relationServCallFlg  
      relationServ         

  java.lang.Object setRoleInt(javax.management.relation.Role, boolean, javax.management.relation.RelationService, boolean);
    descriptor: (Ljavax/management/relation/Role;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=7, locals=13, args_size=5
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.relation.Role aRole
        start local 2 // boolean relationServCallFlg
        start local 3 // javax.management.relation.RelationService relationServ
        start local 4 // boolean multiRoleFlg
         0: .line 1080
            aload 1 /* aRole */
            ifnull 2
         1: .line 1081
            iload 2 /* relationServCallFlg */
            ifeq 4
            aload 3 /* relationServ */
            ifnonnull 4
         2: .line 1082
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
         3: .line 1083
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String excMsg
         4: .line 1086
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 1087
            ldc "setRoleInt"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* aRole */
            aastore
            dup
            iconst_1
            iload 2 /* relationServCallFlg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
         6: .line 1088
            aload 3 /* relationServ */
            aastore
            dup
            iconst_3
            iload 4 /* multiRoleFlg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         7: .line 1086
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 1090
            aload 1 /* aRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 5 /* roleName */
        start local 5 // java.lang.String roleName
         9: .line 1091
            iconst_0
            istore 6 /* pbType */
        start local 6 // int pbType
        10: .line 1099
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 8
            monitorenter
        11: .line 1100
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            aload 5 /* roleName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 7 /* role */
        start local 7 // javax.management.relation.Role role
        12: .line 1099
            aload 8
            monitorexit
        13: goto 16
        end local 7 // javax.management.relation.Role role
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role int javax.management.relation.RelationService int java.lang.String int top java.util.Map
      StackMap stack: java.lang.Throwable
        14: aload 8
            monitorexit
        15: athrow
        start local 7 // javax.management.relation.Role role
        16: .line 1106
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role int javax.management.relation.RelationService int java.lang.String int javax.management.relation.Role
      StackMap stack:
            aload 7 /* role */
            ifnonnull 20
        17: .line 1107
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            astore 9 /* initFlg */
        start local 9 // java.lang.Boolean initFlg
        18: .line 1108
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* oldRoleValue */
        start local 8 // java.util.List oldRoleValue
        19: .line 1110
            goto 22
        end local 9 // java.lang.Boolean initFlg
        end local 8 // java.util.List oldRoleValue
        20: .line 1111
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            astore 9 /* initFlg */
        start local 9 // java.lang.Boolean initFlg
        21: .line 1112
            aload 7 /* role */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 8 /* oldRoleValue */
        start local 8 // java.util.List oldRoleValue
        22: .line 1120
      StackMap locals: java.util.List java.lang.Boolean
      StackMap stack:
            iload 2 /* relationServCallFlg */
            ifeq 28
        23: .line 1126
            aload 3 /* relationServ */
            aload 1 /* aRole */
        24: .line 1127
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
        25: .line 1128
            aload 9 /* initFlg */
        26: .line 1126
            invokevirtual javax.management.relation.RelationService.checkRoleWriting:(Ljavax/management/relation/Role;Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Integer;
            astore 10 /* status */
        start local 10 // java.lang.Integer status
        27: .line 1130
            goto 42
        end local 10 // java.lang.Integer status
        28: .line 1135
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray java.lang.Object
            astore 11 /* params */
        start local 11 // java.lang.Object[] params
        29: .line 1136
            aload 11 /* params */
            iconst_0
            aload 1 /* aRole */
            aastore
        30: .line 1137
            aload 11 /* params */
            iconst_1
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
            aastore
        31: .line 1138
            aload 11 /* params */
            iconst_2
            aload 9 /* initFlg */
            aastore
        32: .line 1139
            iconst_3
            anewarray java.lang.String
            astore 12 /* signature */
        start local 12 // java.lang.String[] signature
        33: .line 1140
            aload 12 /* signature */
            iconst_0
            ldc "javax.management.relation.Role"
            aastore
        34: .line 1141
            aload 12 /* signature */
            iconst_1
            ldc "java.lang.String"
            aastore
        35: .line 1142
            aload 12 /* signature */
            iconst_2
            ldc "java.lang.Boolean"
            aastore
        36: .line 1153
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
        37: .line 1154
            ldc "checkRoleWriting"
        38: .line 1155
            aload 11 /* params */
        39: .line 1156
            aload 12 /* signature */
        40: .line 1153
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        41: .line 1152
            checkcast java.lang.Integer
            astore 10 /* status */
        end local 12 // java.lang.String[] signature
        end local 11 // java.lang.Object[] params
        start local 10 // java.lang.Integer status
        42: .line 1159
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 10 /* status */
            invokevirtual java.lang.Integer.intValue:()I
            istore 6 /* pbType */
        end local 10 // java.lang.Integer status
        43: .line 1161
            goto 55
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role int javax.management.relation.RelationService int java.lang.String int javax.management.relation.Role java.util.List java.lang.Boolean
      StackMap stack: javax.management.MBeanException
        44: astore 10 /* exc2 */
        start local 10 // javax.management.MBeanException exc2
        45: .line 1164
            aload 10 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 11 /* wrappedExc */
        start local 11 // java.lang.Exception wrappedExc
        46: .line 1165
            aload 11 /* wrappedExc */
            instanceof javax.management.relation.RelationTypeNotFoundException
            ifeq 48
        47: .line 1166
            aload 11 /* wrappedExc */
            checkcast javax.management.relation.RelationTypeNotFoundException
            athrow
        48: .line 1169
      StackMap locals: javax.management.MBeanException java.lang.Exception
      StackMap stack:
            new java.lang.RuntimeException
            dup
            aload 11 /* wrappedExc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.Exception wrappedExc
        end local 10 // javax.management.MBeanException exc2
        49: .line 1172
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role int javax.management.relation.RelationService int java.lang.String int javax.management.relation.Role java.util.List java.lang.Boolean
      StackMap stack: javax.management.ReflectionException
            astore 10 /* exc3 */
        start local 10 // javax.management.ReflectionException exc3
        50: .line 1173
            new java.lang.RuntimeException
            dup
            aload 10 /* exc3 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // javax.management.ReflectionException exc3
        51: .line 1175
      StackMap locals:
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
            astore 10 /* exc4 */
        start local 10 // javax.management.relation.RelationTypeNotFoundException exc4
        52: .line 1176
            new java.lang.RuntimeException
            dup
            aload 10 /* exc4 */
            invokevirtual javax.management.relation.RelationTypeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // javax.management.relation.RelationTypeNotFoundException exc4
        53: .line 1178
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
            astore 10 /* exc5 */
        start local 10 // javax.management.InstanceNotFoundException exc5
        54: .line 1179
            new javax.management.relation.RelationServiceNotRegisteredException
            dup
            aload 10 /* exc5 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial javax.management.relation.RelationServiceNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // javax.management.InstanceNotFoundException exc5
        55: .line 1182
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 10 /* result */
        start local 10 // java.lang.Object result
        56: .line 1184
            iload 6 /* pbType */
            ifne 79
        57: .line 1186
            aload 9 /* initFlg */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 68
        58: .line 1197
            aload 0 /* this */
            aload 1 /* aRole */
        59: .line 1198
            aload 8 /* oldRoleValue */
        60: .line 1199
            iload 2 /* relationServCallFlg */
        61: .line 1200
            aload 3 /* relationServ */
        62: .line 1197
            invokevirtual javax.management.relation.RelationSupport.sendRoleUpdateNotification:(Ljavax/management/relation/Role;Ljava/util/List;ZLjavax/management/relation/RelationService;)V
        63: .line 1204
            aload 0 /* this */
            aload 1 /* aRole */
        64: .line 1205
            aload 8 /* oldRoleValue */
        65: .line 1206
            iload 2 /* relationServCallFlg */
        66: .line 1207
            aload 3 /* relationServ */
        67: .line 1204
            invokevirtual javax.management.relation.RelationSupport.updateRelationServiceMap:(Ljavax/management/relation/Role;Ljava/util/List;ZLjavax/management/relation/RelationService;)V
        68: .line 1212
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 11
            monitorenter
        69: .line 1213
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            aload 5 /* roleName */
        70: .line 1214
            aload 1 /* aRole */
            invokevirtual javax.management.relation.Role.clone:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
        71: .line 1213
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        72: .line 1212
            aload 11
            monitorexit
        73: goto 76
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role int javax.management.relation.RelationService int java.lang.String int javax.management.relation.Role java.util.List java.lang.Boolean java.lang.Object java.util.Map
      StackMap stack: java.lang.Throwable
        74: aload 11
            monitorexit
        75: athrow
        76: .line 1219
      StackMap locals:
      StackMap stack:
            iload 4 /* multiRoleFlg */
            ifeq 88
        77: .line 1221
            aload 1 /* aRole */
            astore 10 /* result */
        78: .line 1224
            goto 88
        79: .line 1228
      StackMap locals:
      StackMap stack:
            iload 4 /* multiRoleFlg */
            ifne 84
        80: .line 1233
            iload 6 /* pbType */
        81: .line 1234
            aload 5 /* roleName */
        82: .line 1233
            invokestatic javax.management.relation.RelationService.throwRoleProblemException:(ILjava/lang/String;)V
        83: .line 1236
            aconst_null
            areturn
        84: .line 1241
      StackMap locals:
      StackMap stack:
            new javax.management.relation.RoleUnresolved
            dup
            aload 5 /* roleName */
        85: .line 1242
            aload 1 /* aRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
        86: .line 1243
            iload 6 /* pbType */
        87: .line 1241
            invokespecial javax.management.relation.RoleUnresolved.<init>:(Ljava/lang/String;Ljava/util/List;I)V
            astore 10 /* result */
        88: .line 1247
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "setRoleInt"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        89: .line 1248
            aload 10 /* result */
            areturn
        end local 10 // java.lang.Object result
        end local 9 // java.lang.Boolean initFlg
        end local 8 // java.util.List oldRoleValue
        end local 7 // javax.management.relation.Role role
        end local 6 // int pbType
        end local 5 // java.lang.String roleName
        end local 4 // boolean multiRoleFlg
        end local 3 // javax.management.relation.RelationService relationServ
        end local 2 // boolean relationServCallFlg
        end local 1 // javax.management.relation.Role aRole
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   90     0                 this  Ljavax/management/relation/RelationSupport;
            0   90     1                aRole  Ljavax/management/relation/Role;
            0   90     2  relationServCallFlg  Z
            0   90     3         relationServ  Ljavax/management/relation/RelationService;
            0   90     4         multiRoleFlg  Z
            3    4     5               excMsg  Ljava/lang/String;
            9   90     5             roleName  Ljava/lang/String;
           10   90     6               pbType  I
           12   14     7                 role  Ljavax/management/relation/Role;
           16   90     7                 role  Ljavax/management/relation/Role;
           19   20     8         oldRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           22   90     8         oldRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           18   20     9              initFlg  Ljava/lang/Boolean;
           21   90     9              initFlg  Ljava/lang/Boolean;
           27   28    10               status  Ljava/lang/Integer;
           42   43    10               status  Ljava/lang/Integer;
           29   42    11               params  [Ljava/lang/Object;
           33   42    12            signature  [Ljava/lang/String;
           45   49    10                 exc2  Ljavax/management/MBeanException;
           46   49    11           wrappedExc  Ljava/lang/Exception;
           50   51    10                 exc3  Ljavax/management/ReflectionException;
           52   53    10                 exc4  Ljavax/management/relation/RelationTypeNotFoundException;
           54   55    10                 exc5  Ljavax/management/InstanceNotFoundException;
           56   90    10               result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          11    13      14  any
          14    15      14  any
          22    43      44  Class javax.management.MBeanException
          22    43      49  Class javax.management.ReflectionException
          22    43      51  Class javax.management.relation.RelationTypeNotFoundException
          22    43      53  Class javax.management.InstanceNotFoundException
          69    73      74  any
          74    75      74  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRoleValueException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.RelationNotFoundException
    MethodParameters:
                     Name  Flags
      aRole                
      relationServCallFlg  
      relationServ         
      multiRoleFlg         

  private void sendRoleUpdateNotification(javax.management.relation.Role, java.util.List<javax.management.ObjectName>, boolean, javax.management.relation.RelationService);
    descriptor: (Ljavax/management/relation/Role;Ljava/util/List;ZLjavax/management/relation/RelationService;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.relation.Role newRole
        start local 2 // java.util.List oldRoleValue
        start local 3 // boolean relationServCallFlg
        start local 4 // javax.management.relation.RelationService relationServ
         0: .line 1282
            aload 1 /* newRole */
            ifnull 3
         1: .line 1283
            aload 2 /* oldRoleValue */
            ifnull 3
         2: .line 1284
            iload 3 /* relationServCallFlg */
            ifeq 5
            aload 4 /* relationServ */
            ifnonnull 5
         3: .line 1285
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
         4: .line 1286
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String excMsg
         5: .line 1289
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 1290
            ldc "sendRoleUpdateNotification"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* newRole */
            aastore
            dup
            iconst_1
         7: .line 1291
            aload 2 /* oldRoleValue */
            aastore
            dup
            iconst_2
            iload 3 /* relationServCallFlg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 4 /* relationServ */
            aastore
         8: .line 1289
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 1293
            iload 3 /* relationServCallFlg */
            ifeq 17
        10: .line 1298
            aload 4 /* relationServ */
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelId:Ljava/lang/String;
        11: .line 1299
            aload 1 /* newRole */
        12: .line 1300
            aload 2 /* oldRoleValue */
        13: .line 1298
            invokevirtual javax.management.relation.RelationService.sendRoleUpdateNotification:(Ljava/lang/String;Ljavax/management/relation/Role;Ljava/util/List;)V
        14: .line 1301
            goto 42
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
        15: astore 5 /* exc */
        start local 5 // javax.management.relation.RelationNotFoundException exc
        16: .line 1302
            new java.lang.RuntimeException
            dup
            aload 5 /* exc */
            invokevirtual javax.management.relation.RelationNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // javax.management.relation.RelationNotFoundException exc
        17: .line 1307
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        18: .line 1308
            aload 5 /* params */
            iconst_0
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelId:Ljava/lang/String;
            aastore
        19: .line 1309
            aload 5 /* params */
            iconst_1
            aload 1 /* newRole */
            aastore
        20: .line 1310
            aload 5 /* params */
            iconst_2
            aload 2 /* oldRoleValue */
            aastore
        21: .line 1311
            iconst_3
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        22: .line 1312
            aload 6 /* signature */
            iconst_0
            ldc "java.lang.String"
            aastore
        23: .line 1313
            aload 6 /* signature */
            iconst_1
            ldc "javax.management.relation.Role"
            aastore
        24: .line 1314
            aload 6 /* signature */
            iconst_2
            ldc "java.util.List"
            aastore
        25: .line 1325
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
        26: .line 1326
            ldc "sendRoleUpdateNotification"
        27: .line 1327
            aload 5 /* params */
        28: .line 1328
            aload 6 /* signature */
        29: .line 1325
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        30: .line 1329
            goto 42
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role java.util.List int javax.management.relation.RelationService java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.ReflectionException
        31: astore 7 /* exc1 */
        start local 7 // javax.management.ReflectionException exc1
        32: .line 1330
            new java.lang.RuntimeException
            dup
            aload 7 /* exc1 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.ReflectionException exc1
        33: .line 1331
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
            astore 7 /* exc2 */
        start local 7 // javax.management.InstanceNotFoundException exc2
        34: .line 1332
            new javax.management.relation.RelationServiceNotRegisteredException
            dup
        35: .line 1333
            aload 7 /* exc2 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
        36: .line 1332
            invokespecial javax.management.relation.RelationServiceNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.InstanceNotFoundException exc2
        37: .line 1334
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        38: .line 1335
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 8 /* wrappedExc */
        start local 8 // java.lang.Exception wrappedExc
        39: .line 1336
            aload 8 /* wrappedExc */
            instanceof javax.management.relation.RelationNotFoundException
            ifeq 41
        40: .line 1337
            aload 8 /* wrappedExc */
            checkcast javax.management.relation.RelationNotFoundException
            athrow
        41: .line 1339
      StackMap locals: javax.management.MBeanException java.lang.Exception
      StackMap stack:
            new java.lang.RuntimeException
            dup
            aload 8 /* wrappedExc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Exception wrappedExc
        end local 7 // javax.management.MBeanException exc3
        end local 6 // java.lang.String[] signature
        end local 5 // java.lang.Object[] params
        42: .line 1344
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role java.util.List int javax.management.relation.RelationService
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        43: .line 1345
            ldc "sendRoleUpdateNotification"
        44: .line 1344
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        45: .line 1346
            return
        end local 4 // javax.management.relation.RelationService relationServ
        end local 3 // boolean relationServCallFlg
        end local 2 // java.util.List oldRoleValue
        end local 1 // javax.management.relation.Role newRole
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   46     0                 this  Ljavax/management/relation/RelationSupport;
            0   46     1              newRole  Ljavax/management/relation/Role;
            0   46     2         oldRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   46     3  relationServCallFlg  Z
            0   46     4         relationServ  Ljavax/management/relation/RelationService;
            4    5     5               excMsg  Ljava/lang/String;
           16   17     5                  exc  Ljavax/management/relation/RelationNotFoundException;
           18   42     5               params  [Ljava/lang/Object;
           22   42     6            signature  [Ljava/lang/String;
           32   33     7                 exc1  Ljavax/management/ReflectionException;
           34   37     7                 exc2  Ljavax/management/InstanceNotFoundException;
           38   42     7                 exc3  Ljavax/management/MBeanException;
           39   42     8           wrappedExc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    14      15  Class javax.management.relation.RelationNotFoundException
          25    30      31  Class javax.management.ReflectionException
          25    30      33  Class javax.management.InstanceNotFoundException
          25    30      37  Class javax.management.MBeanException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationNotFoundException
    Signature: (Ljavax/management/relation/Role;Ljava/util/List<Ljavax/management/ObjectName;>;ZLjavax/management/relation/RelationService;)V
    MethodParameters:
                     Name  Flags
      newRole              
      oldRoleValue         
      relationServCallFlg  
      relationServ         

  private void updateRelationServiceMap(javax.management.relation.Role, java.util.List<javax.management.ObjectName>, boolean, javax.management.relation.RelationService);
    descriptor: (Ljavax/management/relation/Role;Ljava/util/List;ZLjavax/management/relation/RelationService;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.relation.Role newRole
        start local 2 // java.util.List oldRoleValue
        start local 3 // boolean relationServCallFlg
        start local 4 // javax.management.relation.RelationService relationServ
         0: .line 1379
            aload 1 /* newRole */
            ifnull 3
         1: .line 1380
            aload 2 /* oldRoleValue */
            ifnull 3
         2: .line 1381
            iload 3 /* relationServCallFlg */
            ifeq 5
            aload 4 /* relationServ */
            ifnonnull 5
         3: .line 1382
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
         4: .line 1383
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String excMsg
         5: .line 1386
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 1387
            ldc "updateRelationServiceMap"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* newRole */
            aastore
            dup
            iconst_1
         7: .line 1388
            aload 2 /* oldRoleValue */
            aastore
            dup
            iconst_2
            iload 3 /* relationServCallFlg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 4 /* relationServ */
            aastore
         8: .line 1386
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 1390
            iload 3 /* relationServCallFlg */
            ifeq 17
        10: .line 1394
            aload 4 /* relationServ */
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelId:Ljava/lang/String;
        11: .line 1395
            aload 1 /* newRole */
        12: .line 1396
            aload 2 /* oldRoleValue */
        13: .line 1394
            invokevirtual javax.management.relation.RelationService.updateRoleMap:(Ljava/lang/String;Ljavax/management/relation/Role;Ljava/util/List;)V
        14: .line 1397
            goto 41
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
        15: astore 5 /* exc */
        start local 5 // javax.management.relation.RelationNotFoundException exc
        16: .line 1398
            new java.lang.RuntimeException
            dup
            aload 5 /* exc */
            invokevirtual javax.management.relation.RelationNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // javax.management.relation.RelationNotFoundException exc
        17: .line 1402
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        18: .line 1403
            aload 5 /* params */
            iconst_0
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelId:Ljava/lang/String;
            aastore
        19: .line 1404
            aload 5 /* params */
            iconst_1
            aload 1 /* newRole */
            aastore
        20: .line 1405
            aload 5 /* params */
            iconst_2
            aload 2 /* oldRoleValue */
            aastore
        21: .line 1406
            iconst_3
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        22: .line 1407
            aload 6 /* signature */
            iconst_0
            ldc "java.lang.String"
            aastore
        23: .line 1408
            aload 6 /* signature */
            iconst_1
            ldc "javax.management.relation.Role"
            aastore
        24: .line 1409
            aload 6 /* signature */
            iconst_2
            ldc "java.util.List"
            aastore
        25: .line 1417
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
        26: .line 1418
            ldc "updateRoleMap"
        27: .line 1419
            aload 5 /* params */
        28: .line 1420
            aload 6 /* signature */
        29: .line 1417
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        30: .line 1421
            goto 41
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role java.util.List int javax.management.relation.RelationService java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.ReflectionException
        31: astore 7 /* exc1 */
        start local 7 // javax.management.ReflectionException exc1
        32: .line 1422
            new java.lang.RuntimeException
            dup
            aload 7 /* exc1 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.ReflectionException exc1
        33: .line 1423
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
            astore 7 /* exc2 */
        start local 7 // javax.management.InstanceNotFoundException exc2
        34: .line 1425
            new javax.management.relation.RelationServiceNotRegisteredException
            dup
            aload 7 /* exc2 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
        35: .line 1424
            invokespecial javax.management.relation.RelationServiceNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.InstanceNotFoundException exc2
        36: .line 1426
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        37: .line 1427
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 8 /* wrappedExc */
        start local 8 // java.lang.Exception wrappedExc
        38: .line 1428
            aload 8 /* wrappedExc */
            instanceof javax.management.relation.RelationNotFoundException
            ifeq 40
        39: .line 1429
            aload 8 /* wrappedExc */
            checkcast javax.management.relation.RelationNotFoundException
            athrow
        40: .line 1431
      StackMap locals: javax.management.MBeanException java.lang.Exception
      StackMap stack:
            new java.lang.RuntimeException
            dup
            aload 8 /* wrappedExc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Exception wrappedExc
        end local 7 // javax.management.MBeanException exc3
        end local 6 // java.lang.String[] signature
        end local 5 // java.lang.Object[] params
        41: .line 1436
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.Role java.util.List int javax.management.relation.RelationService
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        42: .line 1437
            ldc "updateRelationServiceMap"
        43: .line 1436
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        44: .line 1438
            return
        end local 4 // javax.management.relation.RelationService relationServ
        end local 3 // boolean relationServCallFlg
        end local 2 // java.util.List oldRoleValue
        end local 1 // javax.management.relation.Role newRole
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   45     0                 this  Ljavax/management/relation/RelationSupport;
            0   45     1              newRole  Ljavax/management/relation/Role;
            0   45     2         oldRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   45     3  relationServCallFlg  Z
            0   45     4         relationServ  Ljavax/management/relation/RelationService;
            4    5     5               excMsg  Ljava/lang/String;
           16   17     5                  exc  Ljavax/management/relation/RelationNotFoundException;
           18   41     5               params  [Ljava/lang/Object;
           22   41     6            signature  [Ljava/lang/String;
           32   33     7                 exc1  Ljavax/management/ReflectionException;
           34   36     7                 exc2  Ljavax/management/InstanceNotFoundException;
           37   41     7                 exc3  Ljavax/management/MBeanException;
           38   41     8           wrappedExc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    14      15  Class javax.management.relation.RelationNotFoundException
          25    30      31  Class javax.management.ReflectionException
          25    30      33  Class javax.management.InstanceNotFoundException
          25    30      36  Class javax.management.MBeanException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationNotFoundException
    Signature: (Ljavax/management/relation/Role;Ljava/util/List<Ljavax/management/ObjectName;>;ZLjavax/management/relation/RelationService;)V
    MethodParameters:
                     Name  Flags
      newRole              
      oldRoleValue         
      relationServCallFlg  
      relationServ         

  javax.management.relation.RoleResult setRolesInt(javax.management.relation.RoleList, boolean, javax.management.relation.RelationService);
    descriptor: (Ljavax/management/relation/RoleList;ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
    flags: (0x0000) 
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.relation.RoleList list
        start local 2 // boolean relationServCallFlg
        start local 3 // javax.management.relation.RelationService relationServ
         0: .line 1481
            aload 1 /* list */
            ifnull 2
         1: .line 1482
            iload 2 /* relationServCallFlg */
            ifeq 4
            aload 3 /* relationServ */
            ifnonnull 4
         2: .line 1483
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         3: .line 1484
            new java.lang.IllegalArgumentException
            dup
            aload 4 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String excMsg
         4: .line 1487
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 1488
            ldc "setRolesInt"
         6: .line 1489
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* list */
            aastore
            dup
            iconst_1
            iload 2 /* relationServCallFlg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_2
            aload 3 /* relationServ */
            aastore
         7: .line 1487
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 1491
            new javax.management.relation.RoleList
            dup
            invokespecial javax.management.relation.RoleList.<init>:()V
            astore 4 /* roleList */
        start local 4 // javax.management.relation.RoleList roleList
         9: .line 1492
            new javax.management.relation.RoleUnresolvedList
            dup
            invokespecial javax.management.relation.RoleUnresolvedList.<init>:()V
            astore 5 /* roleUnresList */
        start local 5 // javax.management.relation.RoleUnresolvedList roleUnresList
        10: .line 1494
            aload 1 /* list */
            invokevirtual javax.management.relation.RoleList.asList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 31
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList int javax.management.relation.RelationService javax.management.relation.RoleList javax.management.relation.RoleUnresolvedList top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 6 /* currRole */
        start local 6 // javax.management.relation.Role currRole
        12: .line 1496
            aconst_null
            astore 8 /* currResult */
        start local 8 // java.lang.Object currResult
        13: .line 1505
            aload 0 /* this */
            aload 6 /* currRole */
        14: .line 1506
            iload 2 /* relationServCallFlg */
        15: .line 1507
            aload 3 /* relationServ */
        16: .line 1508
            iconst_1
        17: .line 1505
            invokevirtual javax.management.relation.RelationSupport.setRoleInt:(Ljavax/management/relation/Role;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
            astore 8 /* currResult */
        18: .line 1509
            goto 21
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList int javax.management.relation.RelationService javax.management.relation.RoleList javax.management.relation.RoleUnresolvedList javax.management.relation.Role java.util.Iterator java.lang.Object
      StackMap stack: javax.management.relation.RoleNotFoundException
        19: pop
            goto 21
        20: .line 1511
      StackMap locals:
      StackMap stack: javax.management.relation.InvalidRoleValueException
            pop
        21: .line 1515
      StackMap locals:
      StackMap stack:
            aload 8 /* currResult */
            instanceof javax.management.relation.Role
            ifeq 26
        22: .line 1519
            aload 4 /* roleList */
            aload 8 /* currResult */
            checkcast javax.management.relation.Role
            invokevirtual javax.management.relation.RoleList.add:(Ljavax/management/relation/Role;)V
        23: .line 1520
            goto 31
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        24: astore 9 /* exc */
        start local 9 // java.lang.IllegalArgumentException exc
        25: .line 1521
            new java.lang.RuntimeException
            dup
            aload 9 /* exc */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.IllegalArgumentException exc
        26: .line 1524
      StackMap locals:
      StackMap stack:
            aload 8 /* currResult */
            instanceof javax.management.relation.RoleUnresolved
            ifeq 31
        27: .line 1528
            aload 5 /* roleUnresList */
            aload 8 /* currResult */
            checkcast javax.management.relation.RoleUnresolved
            invokevirtual javax.management.relation.RoleUnresolvedList.add:(Ljavax/management/relation/RoleUnresolved;)V
        28: .line 1529
            goto 31
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        29: astore 9 /* exc */
        start local 9 // java.lang.IllegalArgumentException exc
        30: .line 1530
            new java.lang.RuntimeException
            dup
            aload 9 /* exc */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.IllegalArgumentException exc
        end local 8 // java.lang.Object currResult
        end local 6 // javax.management.relation.Role currRole
        31: .line 1494
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList int javax.management.relation.RelationService javax.management.relation.RoleList javax.management.relation.RoleUnresolvedList top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        32: .line 1535
            new javax.management.relation.RoleResult
            dup
            aload 4 /* roleList */
            aload 5 /* roleUnresList */
            invokespecial javax.management.relation.RoleResult.<init>:(Ljavax/management/relation/RoleList;Ljavax/management/relation/RoleUnresolvedList;)V
            astore 6 /* result */
        start local 6 // javax.management.relation.RoleResult result
        33: .line 1537
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "setRolesInt"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        34: .line 1538
            aload 6 /* result */
            areturn
        end local 6 // javax.management.relation.RoleResult result
        end local 5 // javax.management.relation.RoleUnresolvedList roleUnresList
        end local 4 // javax.management.relation.RoleList roleList
        end local 3 // javax.management.relation.RelationService relationServ
        end local 2 // boolean relationServCallFlg
        end local 1 // javax.management.relation.RoleList list
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   35     0                 this  Ljavax/management/relation/RelationSupport;
            0   35     1                 list  Ljavax/management/relation/RoleList;
            0   35     2  relationServCallFlg  Z
            0   35     3         relationServ  Ljavax/management/relation/RelationService;
            3    4     4               excMsg  Ljava/lang/String;
            9   35     4             roleList  Ljavax/management/relation/RoleList;
           10   35     5        roleUnresList  Ljavax/management/relation/RoleUnresolvedList;
           12   31     6             currRole  Ljavax/management/relation/Role;
           13   31     8           currResult  Ljava/lang/Object;
           25   26     9                  exc  Ljava/lang/IllegalArgumentException;
           30   31     9                  exc  Ljava/lang/IllegalArgumentException;
           33   35     6               result  Ljavax/management/relation/RoleResult;
      Exception table:
        from    to  target  type
          13    18      19  Class javax.management.relation.RoleNotFoundException
          13    18      20  Class javax.management.relation.InvalidRoleValueException
          22    23      24  Class java.lang.IllegalArgumentException
          27    28      29  Class java.lang.IllegalArgumentException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.RelationNotFoundException
    MethodParameters:
                     Name  Flags
      list                 
      relationServCallFlg  
      relationServ         

  private void initMembers(java.lang.String, javax.management.ObjectName, javax.management.MBeanServer, java.lang.String, javax.management.relation.RoleList);
    descriptor: (Ljava/lang/String;Ljavax/management/ObjectName;Ljavax/management/MBeanServer;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.ObjectName relationServiceName
        start local 3 // javax.management.MBeanServer relationServiceMBeanServer
        start local 4 // java.lang.String relationTypeName
        start local 5 // javax.management.relation.RoleList list
         0: .line 1574
            aload 1 /* relationId */
            ifnull 3
         1: .line 1575
            aload 2 /* relationServiceName */
            ifnull 3
         2: .line 1576
            aload 4 /* relationTypeName */
            ifnonnull 5
         3: .line 1577
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 6 /* excMsg */
        start local 6 // java.lang.String excMsg
         4: .line 1578
            new java.lang.IllegalArgumentException
            dup
            aload 6 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String excMsg
         5: .line 1581
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 1582
            ldc "initMembers"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* relationServiceName */
            aastore
            dup
            iconst_2
         7: .line 1583
            aload 3 /* relationServiceMBeanServer */
            aastore
            dup
            iconst_3
            aload 4 /* relationTypeName */
            aastore
            dup
            iconst_4
            aload 5 /* list */
            aastore
         8: .line 1581
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 1585
            aload 0 /* this */
            aload 1 /* relationId */
            putfield javax.management.relation.RelationSupport.myRelId:Ljava/lang/String;
        10: .line 1586
            aload 0 /* this */
            aload 2 /* relationServiceName */
            putfield javax.management.relation.RelationSupport.myRelServiceName:Ljavax/management/ObjectName;
        11: .line 1587
            aload 0 /* this */
            aload 3 /* relationServiceMBeanServer */
            putfield javax.management.relation.RelationSupport.myRelServiceMBeanServer:Ljavax/management/MBeanServer;
        12: .line 1588
            aload 0 /* this */
            aload 4 /* relationTypeName */
            putfield javax.management.relation.RelationSupport.myRelTypeName:Ljava/lang/String;
        13: .line 1590
            aload 0 /* this */
            aload 5 /* list */
            invokevirtual javax.management.relation.RelationSupport.initRoleMap:(Ljavax/management/relation/RoleList;)V
        14: .line 1592
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "initMembers"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 1593
            return
        end local 5 // javax.management.relation.RoleList list
        end local 4 // java.lang.String relationTypeName
        end local 3 // javax.management.MBeanServer relationServiceMBeanServer
        end local 2 // javax.management.ObjectName relationServiceName
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   16     0                        this  Ljavax/management/relation/RelationSupport;
            0   16     1                  relationId  Ljava/lang/String;
            0   16     2         relationServiceName  Ljavax/management/ObjectName;
            0   16     3  relationServiceMBeanServer  Ljavax/management/MBeanServer;
            0   16     4            relationTypeName  Ljava/lang/String;
            0   16     5                        list  Ljavax/management/relation/RoleList;
            4    5     6                      excMsg  Ljava/lang/String;
    Exceptions:
      throws javax.management.relation.InvalidRoleValueException, java.lang.IllegalArgumentException
    MethodParameters:
                            Name  Flags
      relationId                  
      relationServiceName         
      relationServiceMBeanServer  
      relationTypeName            
      list                        

  private void initRoleMap(javax.management.relation.RoleList);
    descriptor: (Ljavax/management/relation/RoleList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.relation.RoleList list
         0: .line 1607
            aload 1 /* list */
            ifnonnull 2
         1: .line 1608
            return
         2: .line 1611
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         3: .line 1612
            ldc "initRoleMap"
            aload 1 /* list */
         4: .line 1611
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         5: .line 1614
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         6: .line 1616
            aload 1 /* list */
            invokevirtual javax.management.relation.RoleList.asList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList java.util.Map top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 3 /* currRole */
        start local 3 // javax.management.relation.Role currRole
         8: .line 1620
            aload 3 /* currRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 5 /* currRoleName */
        start local 5 // java.lang.String currRoleName
         9: .line 1622
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            aload 5 /* currRoleName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 14
        10: .line 1624
            new java.lang.StringBuilder
            dup
            ldc "Role name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 6 /* excMsgStrB */
        start local 6 // java.lang.StringBuilder excMsgStrB
        11: .line 1625
            aload 6 /* excMsgStrB */
            aload 5 /* currRoleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 1626
            aload 6 /* excMsgStrB */
            ldc " used for two roles."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1627
            new javax.management.relation.InvalidRoleValueException
            dup
            aload 6 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.InvalidRoleValueException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.StringBuilder excMsgStrB
        14: .line 1630
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList java.util.Map javax.management.relation.Role java.util.Iterator java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            aload 5 /* currRoleName */
        15: .line 1631
            aload 3 /* currRole */
            invokevirtual javax.management.relation.Role.clone:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
        16: .line 1630
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String currRoleName
        end local 3 // javax.management.relation.Role currRole
        17: .line 1616
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        18: .line 1614
            aload 2
            monitorexit
        19: goto 22
      StackMap locals: javax.management.relation.RelationSupport javax.management.relation.RoleList java.util.Map
      StackMap stack: java.lang.Throwable
        20: aload 2
            monitorexit
        21: athrow
        22: .line 1635
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "initRoleMap"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        23: .line 1636
            return
        end local 1 // javax.management.relation.RoleList list
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Ljavax/management/relation/RelationSupport;
            0   24     1          list  Ljavax/management/relation/RoleList;
            8   17     3      currRole  Ljavax/management/relation/Role;
            9   17     5  currRoleName  Ljava/lang/String;
           11   14     6    excMsgStrB  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           6    19      20  any
          20    21      20  any
    Exceptions:
      throws javax.management.relation.InvalidRoleValueException
    MethodParameters:
      Name  Flags
      list  

  void handleMBeanUnregistrationInt(javax.management.ObjectName, java.lang.String, boolean, javax.management.relation.RelationService);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;ZLjavax/management/relation/RelationService;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=9, args_size=5
        start local 0 // javax.management.relation.RelationSupport this
        start local 1 // javax.management.ObjectName objectName
        start local 2 // java.lang.String roleName
        start local 3 // boolean relationServCallFlg
        start local 4 // javax.management.relation.RelationService relationServ
         0: .line 1688
            aload 1 /* objectName */
            ifnull 3
         1: .line 1689
            aload 2 /* roleName */
            ifnull 3
         2: .line 1690
            iload 3 /* relationServCallFlg */
            ifeq 5
            aload 4 /* relationServ */
            ifnonnull 5
         3: .line 1691
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
         4: .line 1692
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String excMsg
         5: .line 1695
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 1696
            ldc "handleMBeanUnregistrationInt"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* objectName */
            aastore
            dup
            iconst_1
         7: .line 1697
            aload 2 /* roleName */
            aastore
            dup
            iconst_2
            iload 3 /* relationServCallFlg */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_3
            aload 4 /* relationServ */
            aastore
         8: .line 1695
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 1701
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            dup
            astore 6
            monitorenter
        10: .line 1702
            aload 0 /* this */
            getfield javax.management.relation.RelationSupport.myRoleName2ValueMap:Ljava/util/Map;
            aload 2 /* roleName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 5 /* role */
        start local 5 // javax.management.relation.Role role
        11: .line 1701
            aload 6
            monitorexit
        12: goto 15
        end local 5 // javax.management.relation.Role role
      StackMap locals: javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String int javax.management.relation.RelationService top java.util.Map
      StackMap stack: java.lang.Throwable
        13: aload 6
            monitorexit
        14: athrow
        start local 5 // javax.management.relation.Role role
        15: .line 1705
      StackMap locals: javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String int javax.management.relation.RelationService javax.management.relation.Role
      StackMap stack:
            aload 5 /* role */
            ifnonnull 21
        16: .line 1706
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* excMsgStrB */
        start local 6 // java.lang.StringBuilder excMsgStrB
        17: .line 1707
            ldc "No role with name "
            astore 7 /* excMsg */
        start local 7 // java.lang.String excMsg
        18: .line 1708
            aload 6 /* excMsgStrB */
            aload 7 /* excMsg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1709
            aload 6 /* excMsgStrB */
            aload 2 /* roleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 1710
            new javax.management.relation.RoleNotFoundException
            dup
            aload 6 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.RoleNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.String excMsg
        end local 6 // java.lang.StringBuilder excMsgStrB
        21: .line 1712
      StackMap locals:
      StackMap stack:
            aload 5 /* role */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 6 /* currRoleValue */
        start local 6 // java.util.List currRoleValue
        22: .line 1716
            new java.util.ArrayList
            dup
            aload 6 /* currRoleValue */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 7 /* newRoleValue */
        start local 7 // java.util.List newRoleValue
        23: .line 1717
            aload 7 /* newRoleValue */
            aload 1 /* objectName */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        24: .line 1718
            new javax.management.relation.Role
            dup
            aload 2 /* roleName */
            aload 7 /* newRoleValue */
            invokespecial javax.management.relation.Role.<init>:(Ljava/lang/String;Ljava/util/List;)V
            astore 8 /* newRole */
        start local 8 // javax.management.relation.Role newRole
        25: .line 1724
            aload 0 /* this */
            aload 8 /* newRole */
            iload 3 /* relationServCallFlg */
            aload 4 /* relationServ */
            iconst_0
            invokevirtual javax.management.relation.RelationSupport.setRoleInt:(Ljavax/management/relation/Role;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
            pop
        26: .line 1726
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationSupport;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        27: .line 1727
            ldc "handleMBeanUnregistrationInt"
        28: .line 1726
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 1728
            return
        end local 8 // javax.management.relation.Role newRole
        end local 7 // java.util.List newRoleValue
        end local 6 // java.util.List currRoleValue
        end local 5 // javax.management.relation.Role role
        end local 4 // javax.management.relation.RelationService relationServ
        end local 3 // boolean relationServCallFlg
        end local 2 // java.lang.String roleName
        end local 1 // javax.management.ObjectName objectName
        end local 0 // javax.management.relation.RelationSupport this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   30     0                 this  Ljavax/management/relation/RelationSupport;
            0   30     1           objectName  Ljavax/management/ObjectName;
            0   30     2             roleName  Ljava/lang/String;
            0   30     3  relationServCallFlg  Z
            0   30     4         relationServ  Ljavax/management/relation/RelationService;
            4    5     5               excMsg  Ljava/lang/String;
           11   13     5                 role  Ljavax/management/relation/Role;
           15   30     5                 role  Ljavax/management/relation/Role;
           17   21     6           excMsgStrB  Ljava/lang/StringBuilder;
           18   21     7               excMsg  Ljava/lang/String;
           22   30     6        currRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           23   30     7         newRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           25   30     8              newRole  Ljavax/management/relation/Role;
      Exception table:
        from    to  target  type
          10    12      13  any
          13    14      13  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRoleValueException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.RelationNotFoundException
    MethodParameters:
                     Name  Flags
      objectName           
      roleName             
      relationServCallFlg  
      relationServ         
}
SourceFile: "RelationSupport.java"