public class javax.management.relation.RelationService extends javax.management.NotificationBroadcasterSupport implements javax.management.relation.RelationServiceMBean, javax.management.MBeanRegistration, javax.management.NotificationListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javax.management.relation.RelationService
  super_class: javax.management.NotificationBroadcasterSupport
{
  private java.util.Map<java.lang.String, java.lang.Object> myRelId2ObjMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private java.util.Map<java.lang.String, java.lang.String> myRelId2RelTypeMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

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

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

  private java.util.Map<java.lang.String, java.util.List<java.lang.String>> myRelType2RelIdsMap;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

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

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

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

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

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

  private javax.management.relation.MBeanServerNotificationFilter myUnregNtfFilter;
    descriptor: Ljavax/management/relation/MBeanServerNotificationFilter;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<javax.management.MBeanServerNotification> myUnregNtfList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljavax/management/MBeanServerNotification;>;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // boolean immediatePurgeFlag
         0: .line 158
            aload 0 /* this */
            invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
         1: .line 84
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
         2: .line 88
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
         3: .line 92
            aload 0 /* this */
         4: .line 93
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
         5: .line 97
            aload 0 /* this */
         6: .line 98
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
         7: .line 103
            aload 0 /* this */
         8: .line 104
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
         9: .line 112
            aload 0 /* this */
        10: .line 113
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
        11: .line 121
            aload 0 /* this */
            iconst_1
            putfield javax.management.relation.RelationService.myPurgeFlag:Z
        12: .line 126
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield javax.management.relation.RelationService.atomicSeqNo:Ljava/util/concurrent/atomic/AtomicLong;
        13: .line 129
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationService.myObjName:Ljavax/management/ObjectName;
        14: .line 132
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
        15: .line 136
            aload 0 /* this */
            aconst_null
            putfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
        16: .line 141
            aload 0 /* this */
        17: .line 142
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield javax.management.relation.RelationService.myUnregNtfList:Ljava/util/List;
        18: .line 160
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        19: .line 161
            ldc "RelationService"
        20: .line 160
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 163
            aload 0 /* this */
            iload 1 /* immediatePurgeFlag */
            invokevirtual javax.management.relation.RelationService.setPurgeFlag:(Z)V
        22: .line 165
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        23: .line 166
            ldc "RelationService"
        24: .line 165
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        25: .line 167
            return
        end local 1 // boolean immediatePurgeFlag
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Ljavax/management/relation/RelationService;
            0   26     1  immediatePurgeFlag  Z
    MethodParameters:
                    Name  Flags
      immediatePurgeFlag  

  public void isActive();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.management.relation.RelationService this
         0: .line 180
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            ifnonnull 4
         1: .line 184
            ldc "Relation Service not registered in the MBean Server."
         2: .line 183
            astore 1 /* excMsg */
        start local 1 // java.lang.String excMsg
         3: .line 185
            new javax.management.relation.RelationServiceNotRegisteredException
            dup
            aload 1 /* excMsg */
            invokespecial javax.management.relation.RelationServiceNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String excMsg
         4: .line 187
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavax/management/relation/RelationService;
            3    4     1  excMsg  Ljava/lang/String;
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException

  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.RelationService this
        start local 1 // javax.management.MBeanServer server
        start local 2 // javax.management.ObjectName name
         0: .line 201
            aload 0 /* this */
            aload 1 /* server */
            putfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
         1: .line 202
            aload 0 /* this */
            aload 2 /* name */
            putfield javax.management.relation.RelationService.myObjName:Ljavax/management/ObjectName;
         2: .line 203
            aload 2 /* name */
            areturn
        end local 2 // javax.management.ObjectName name
        end local 1 // javax.management.MBeanServer server
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljavax/management/relation/RelationService;
            0    3     1  server  Ljavax/management/MBeanServer;
            0    3     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.RelationService this
        start local 1 // java.lang.Boolean registrationDone
         0: .line 208
            return
        end local 1 // java.lang.Boolean registrationDone
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljavax/management/relation/RelationService;
            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.RelationService this
         0: .line 214
            return
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationService;
    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.RelationService this
         0: .line 219
            return
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationService;

  public boolean getPurgeFlag();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.relation.RelationService this
         0: .line 239
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myPurgeFlag:Z
            ireturn
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/relation/RelationService;

  public void setPurgeFlag(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // boolean purgeFlag
         0: .line 256
            aload 0 /* this */
            iload 1 /* purgeFlag */
            putfield javax.management.relation.RelationService.myPurgeFlag:Z
         1: .line 257
            return
        end local 1 // boolean purgeFlag
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljavax/management/relation/RelationService;
            0    2     1  purgeFlag  Z
    MethodParameters:
           Name  Flags
      purgeFlag  

  public void createRelationType(java.lang.String, javax.management.relation.RoleInfo[]);
    descriptor: (Ljava/lang/String;[Ljavax/management/relation/RoleInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
        start local 2 // javax.management.relation.RoleInfo[] roleInfoArray
         0: .line 284
            aload 1 /* relationTypeName */
            ifnull 1
            aload 2 /* roleInfoArray */
            ifnonnull 3
         1: .line 285
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 286
            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 289
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 290
            ldc "createRelationType"
            aload 1 /* relationTypeName */
         5: .line 289
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 294
            new javax.management.relation.RelationTypeSupport
            dup
            aload 1 /* relationTypeName */
            aload 2 /* roleInfoArray */
            invokespecial javax.management.relation.RelationTypeSupport.<init>:(Ljava/lang/String;[Ljavax/management/relation/RoleInfo;)V
         7: .line 293
            astore 3 /* relType */
        start local 3 // javax.management.relation.RelationType relType
         8: .line 296
            aload 0 /* this */
            aload 3 /* relType */
            invokevirtual javax.management.relation.RelationService.addRelationTypeInt:(Ljavax/management/relation/RelationType;)V
         9: .line 298
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        10: .line 299
            ldc "createRelationType"
        11: .line 298
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 300
            return
        end local 3 // javax.management.relation.RelationType relType
        end local 2 // javax.management.relation.RoleInfo[] roleInfoArray
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Ljavax/management/relation/RelationService;
            0   13     1  relationTypeName  Ljava/lang/String;
            0   13     2     roleInfoArray  [Ljavax/management/relation/RoleInfo;
            2    3     3            excMsg  Ljava/lang/String;
            8   13     3           relType  Ljavax/management/relation/RelationType;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.InvalidRelationTypeException
    MethodParameters:
                  Name  Flags
      relationTypeName  
      roleInfoArray     

  public void addRelationType(javax.management.relation.RelationType);
    descriptor: (Ljavax/management/relation/RelationType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.relation.RelationType relationTypeObj
         0: .line 323
            aload 1 /* relationTypeObj */
            ifnonnull 3
         1: .line 324
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 325
            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 328
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 329
            ldc "addRelationType"
         5: .line 328
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 332
            aload 1 /* relationTypeObj */
            invokeinterface javax.management.relation.RelationType.getRoleInfos:()Ljava/util/List;
            astore 2 /* roleInfoList */
        start local 2 // java.util.List roleInfoList
         7: .line 333
            aload 2 /* roleInfoList */
            ifnonnull 10
         8: .line 334
            ldc "No role info provided."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         9: .line 335
            new javax.management.relation.InvalidRelationTypeException
            dup
            aload 3 /* excMsg */
            invokespecial javax.management.relation.InvalidRelationTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String excMsg
        10: .line 338
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* roleInfoList */
            invokeinterface java.util.List.size:()I
            anewarray javax.management.relation.RoleInfo
            astore 3 /* roleInfoArray */
        start local 3 // javax.management.relation.RoleInfo[] roleInfoArray
        11: .line 339
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: .line 340
            aload 2 /* roleInfoList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: javax.management.relation.RelationService javax.management.relation.RelationType java.util.List javax.management.relation.RoleInfo[] int top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.relation.RoleInfo
            astore 5 /* currRoleInfo */
        start local 5 // javax.management.relation.RoleInfo currRoleInfo
        14: .line 341
            aload 3 /* roleInfoArray */
            iload 4 /* i */
            aload 5 /* currRoleInfo */
            aastore
        15: .line 342
            iinc 4 /* i */ 1
        end local 5 // javax.management.relation.RoleInfo currRoleInfo
        16: .line 340
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        17: .line 345
            aload 3 /* roleInfoArray */
            invokestatic javax.management.relation.RelationTypeSupport.checkRoleInfos:([Ljavax/management/relation/RoleInfo;)V
        18: .line 347
            aload 0 /* this */
            aload 1 /* relationTypeObj */
            invokevirtual javax.management.relation.RelationService.addRelationTypeInt:(Ljavax/management/relation/RelationType;)V
        19: .line 349
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        20: .line 350
            ldc "addRelationType"
        21: .line 349
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        22: .line 351
            return
        end local 4 // int i
        end local 3 // javax.management.relation.RoleInfo[] roleInfoArray
        end local 2 // java.util.List roleInfoList
        end local 1 // javax.management.relation.RelationType relationTypeObj
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   23     0             this  Ljavax/management/relation/RelationService;
            0   23     1  relationTypeObj  Ljavax/management/relation/RelationType;
            2    3     2           excMsg  Ljava/lang/String;
            7   23     2     roleInfoList  Ljava/util/List<Ljavax/management/relation/RoleInfo;>;
            9   10     3           excMsg  Ljava/lang/String;
           11   23     3    roleInfoArray  [Ljavax/management/relation/RoleInfo;
           12   23     4                i  I
           14   16     5     currRoleInfo  Ljavax/management/relation/RoleInfo;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.InvalidRelationTypeException
    MethodParameters:
                 Name  Flags
      relationTypeObj  

  public java.util.List<java.lang.String> getAllRelationTypeNames();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javax.management.relation.RelationService this
         0: .line 361
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 362
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* result */
        start local 1 // java.util.ArrayList result
         2: .line 361
            aload 2
            monitorexit
         3: goto 6
        end local 1 // java.util.ArrayList result
      StackMap locals: javax.management.relation.RelationService top java.util.Map
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
        start local 1 // java.util.ArrayList result
         6: .line 364
      StackMap locals: javax.management.relation.RelationService java.util.ArrayList
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.ArrayList result
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/management/relation/RelationService;
            2    4     1  result  Ljava/util/ArrayList<Ljava/lang/String;>;
            6    7     1  result  Ljava/util/ArrayList<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.util.List<javax.management.relation.RoleInfo> getRoleInfos(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
         0: .line 383
            aload 1 /* relationTypeName */
            ifnonnull 3
         1: .line 384
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 385
            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 388
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 389
            ldc "getRoleInfos"
            aload 1 /* relationTypeName */
         5: .line 388
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 392
            aload 0 /* this */
            aload 1 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            astore 2 /* relType */
        start local 2 // javax.management.relation.RelationType relType
         7: .line 394
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         8: .line 395
            ldc "getRoleInfos"
         9: .line 394
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 396
            aload 2 /* relType */
            invokeinterface javax.management.relation.RelationType.getRoleInfos:()Ljava/util/List;
            areturn
        end local 2 // javax.management.relation.RelationType relType
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Ljavax/management/relation/RelationService;
            0   11     1  relationTypeName  Ljava/lang/String;
            2    3     2            excMsg  Ljava/lang/String;
            7   11     2           relType  Ljavax/management/relation/RelationType;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationTypeNotFoundException
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljavax/management/relation/RoleInfo;>;
    MethodParameters:
                  Name  Flags
      relationTypeName  

  public javax.management.relation.RoleInfo getRoleInfo(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljavax/management/relation/RoleInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
        start local 2 // java.lang.String roleInfoName
         0: .line 419
            aload 1 /* relationTypeName */
            ifnull 1
            aload 2 /* roleInfoName */
            ifnonnull 3
         1: .line 420
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 421
            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 424
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 425
            ldc "getRoleInfo"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            dup
            iconst_1
            aload 2 /* roleInfoName */
            aastore
         5: .line 424
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 428
            aload 0 /* this */
            aload 1 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            astore 3 /* relType */
        start local 3 // javax.management.relation.RelationType relType
         7: .line 431
            aload 3 /* relType */
            aload 2 /* roleInfoName */
            invokeinterface javax.management.relation.RelationType.getRoleInfo:(Ljava/lang/String;)Ljavax/management/relation/RoleInfo;
            astore 4 /* roleInfo */
        start local 4 // javax.management.relation.RoleInfo roleInfo
         8: .line 433
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         9: .line 434
            ldc "getRoleInfo"
        10: .line 433
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 435
            aload 4 /* roleInfo */
            areturn
        end local 4 // javax.management.relation.RoleInfo roleInfo
        end local 3 // javax.management.relation.RelationType relType
        end local 2 // java.lang.String roleInfoName
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Ljavax/management/relation/RelationService;
            0   12     1  relationTypeName  Ljava/lang/String;
            0   12     2      roleInfoName  Ljava/lang/String;
            2    3     3            excMsg  Ljava/lang/String;
            7   12     3           relType  Ljavax/management/relation/RelationType;
            8   12     4          roleInfo  Ljavax/management/relation/RoleInfo;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.RoleInfoNotFoundException
    MethodParameters:
                  Name  Flags
      relationTypeName  
      roleInfoName      

  public void removeRelationType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
         0: .line 457
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         1: .line 459
            aload 1 /* relationTypeName */
            ifnonnull 4
         2: .line 460
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         3: .line 461
            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
         4: .line 464
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 465
            ldc "removeRelationType"
            aload 1 /* relationTypeName */
         6: .line 464
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 469
            aload 0 /* this */
            aload 1 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            pop
         8: .line 472
            aconst_null
            astore 2 /* relIdList */
        start local 2 // java.util.List relIdList
         9: .line 473
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
        10: .line 477
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            aload 1 /* relationTypeName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
        11: .line 476
            astore 4 /* relIdList1 */
        start local 4 // java.util.List relIdList1
        12: .line 478
            aload 4 /* relIdList1 */
            ifnull 14
        13: .line 479
            new java.util.ArrayList
            dup
            aload 4 /* relIdList1 */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* relIdList */
        end local 4 // java.util.List relIdList1
        14: .line 473
      StackMap locals: java.util.List java.util.Map
      StackMap stack:
            aload 3
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        18: .line 484
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
        19: .line 485
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            aload 1 /* relationTypeName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 484
            aload 3
            monitorexit
        21: goto 24
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        22: aload 3
            monitorexit
        23: athrow
        24: .line 487
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
        25: .line 488
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            aload 1 /* relationTypeName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 487
            aload 3
            monitorexit
        27: goto 30
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        28: aload 3
            monitorexit
        29: athrow
        30: .line 492
      StackMap locals:
      StackMap stack:
            aload 2 /* relIdList */
            ifnull 38
        31: .line 493
            aload 2 /* relIdList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 37
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        32: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* currRelId */
        start local 3 // java.lang.String currRelId
        33: .line 500
            aload 0 /* this */
            aload 3 /* currRelId */
            invokevirtual javax.management.relation.RelationService.removeRelation:(Ljava/lang/String;)V
        34: .line 501
            goto 37
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.lang.String java.util.Iterator
      StackMap stack: javax.management.relation.RelationNotFoundException
        35: astore 5 /* exc1 */
        start local 5 // javax.management.relation.RelationNotFoundException exc1
        36: .line 502
            new java.lang.RuntimeException
            dup
            aload 5 /* exc1 */
            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 exc1
        end local 3 // java.lang.String currRelId
        37: .line 493
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        38: .line 507
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        39: .line 508
            ldc "removeRelationType"
        40: .line 507
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        41: .line 509
            return
        end local 2 // java.util.List relIdList
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   42     0              this  Ljavax/management/relation/RelationService;
            0   42     1  relationTypeName  Ljava/lang/String;
            3    4     2            excMsg  Ljava/lang/String;
            9   42     2         relIdList  Ljava/util/List<Ljava/lang/String;>;
           12   14     4        relIdList1  Ljava/util/List<Ljava/lang/String;>;
           33   37     3         currRelId  Ljava/lang/String;
           36   37     5              exc1  Ljavax/management/relation/RelationNotFoundException;
      Exception table:
        from    to  target  type
          10    15      16  any
          16    17      16  any
          19    21      22  any
          22    23      22  any
          25    27      28  any
          28    29      28  any
          33    34      35  Class javax.management.relation.RelationNotFoundException
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, javax.management.relation.RelationTypeNotFoundException
    MethodParameters:
                  Name  Flags
      relationTypeName  

  public void createRelation(java.lang.String, java.lang.String, javax.management.relation.RoleList);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // java.lang.String relationTypeName
        start local 3 // javax.management.relation.RoleList roleList
         0: .line 561
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         1: .line 563
            aload 1 /* relationId */
            ifnull 3
         2: .line 564
            aload 2 /* relationTypeName */
            ifnonnull 5
         3: .line 565
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 566
            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
         5: .line 569
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 570
            ldc "createRelation"
         7: .line 571
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* roleList */
            aastore
         8: .line 569
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 575
            new javax.management.relation.RelationSupport
            dup
            aload 1 /* relationId */
        10: .line 576
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myObjName:Ljavax/management/ObjectName;
        11: .line 577
            aload 2 /* relationTypeName */
        12: .line 578
            aload 3 /* roleList */
        13: .line 575
            invokespecial javax.management.relation.RelationSupport.<init>:(Ljava/lang/String;Ljavax/management/ObjectName;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
            astore 4 /* relObj */
        start local 4 // javax.management.relation.RelationSupport relObj
        14: .line 585
            aload 0 /* this */
            iconst_1
        15: .line 586
            aload 4 /* relObj */
        16: .line 587
            aconst_null
        17: .line 588
            aload 1 /* relationId */
        18: .line 589
            aload 2 /* relationTypeName */
        19: .line 590
            aload 3 /* roleList */
        20: .line 585
            invokevirtual javax.management.relation.RelationService.addRelationInt:(ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
        21: .line 591
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        22: .line 592
            ldc "createRelation"
        23: .line 591
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        24: .line 593
            return
        end local 4 // javax.management.relation.RelationSupport relObj
        end local 3 // javax.management.relation.RoleList roleList
        end local 2 // java.lang.String relationTypeName
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Ljavax/management/relation/RelationService;
            0   25     1        relationId  Ljava/lang/String;
            0   25     2  relationTypeName  Ljava/lang/String;
            0   25     3          roleList  Ljavax/management/relation/RoleList;
            4    5     4            excMsg  Ljava/lang/String;
           14   25     4            relObj  Ljavax/management/relation/RelationSupport;
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRelationIdException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.InvalidRoleValueException
    MethodParameters:
                  Name  Flags
      relationId        
      relationTypeName  
      roleList          

  public void addRelation(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.ObjectName relationObjectName
         0: .line 652
            aload 1 /* relationObjectName */
            ifnonnull 3
         1: .line 653
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 654
            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 657
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 658
            ldc "addRelation"
            aload 1 /* relationObjectName */
         5: .line 657
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 661
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 666
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
            ldc "javax.management.relation.Relation"
            invokeinterface javax.management.MBeanServer.isInstanceOf:(Ljavax/management/ObjectName;Ljava/lang/String;)Z
            ifne 10
         8: .line 667
            ldc "This MBean does not implement the Relation interface."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         9: .line 668
            new java.lang.NoSuchMethodException
            dup
            aload 2 /* excMsg */
            invokespecial java.lang.NoSuchMethodException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String excMsg
        10: .line 677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        11: .line 678
            ldc "RelationId"
        12: .line 677
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* relId */
        start local 2 // java.lang.String relId
        13: .line 680
            goto 22
        end local 2 // java.lang.String relId
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        14: astore 3 /* exc1 */
        start local 3 // javax.management.MBeanException exc1
        15: .line 681
            new java.lang.RuntimeException
            dup
        16: .line 682
            aload 3 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        17: .line 681
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // javax.management.MBeanException exc1
        18: .line 683
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 3 /* exc2 */
        start local 3 // javax.management.ReflectionException exc2
        19: .line 684
            new java.lang.RuntimeException
            dup
            aload 3 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // javax.management.ReflectionException exc2
        20: .line 685
      StackMap locals:
      StackMap stack: javax.management.AttributeNotFoundException
            astore 3 /* exc3 */
        start local 3 // javax.management.AttributeNotFoundException exc3
        21: .line 686
            new java.lang.RuntimeException
            dup
            aload 3 /* exc3 */
            invokevirtual javax.management.AttributeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // javax.management.AttributeNotFoundException exc3
        start local 2 // java.lang.String relId
        22: .line 689
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* relId */
            ifnonnull 25
        23: .line 690
            ldc "This MBean does not provide a relation id."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
        24: .line 691
            new javax.management.relation.InvalidRelationIdException
            dup
            aload 3 /* excMsg */
            invokespecial javax.management.relation.InvalidRelationIdException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String excMsg
        25: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        26: .line 702
            ldc "RelationServiceName"
        27: .line 701
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        28: .line 700
            checkcast javax.management.ObjectName
            astore 3 /* relServObjName */
        start local 3 // javax.management.ObjectName relServObjName
        29: .line 704
            goto 38
        end local 3 // javax.management.ObjectName relServObjName
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        30: astore 4 /* exc1 */
        start local 4 // javax.management.MBeanException exc1
        31: .line 705
            new java.lang.RuntimeException
            dup
        32: .line 706
            aload 4 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        33: .line 705
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javax.management.MBeanException exc1
        34: .line 707
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 4 /* exc2 */
        start local 4 // javax.management.ReflectionException exc2
        35: .line 708
            new java.lang.RuntimeException
            dup
            aload 4 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javax.management.ReflectionException exc2
        36: .line 709
      StackMap locals:
      StackMap stack: javax.management.AttributeNotFoundException
            astore 4 /* exc3 */
        start local 4 // javax.management.AttributeNotFoundException exc3
        37: .line 710
            new java.lang.RuntimeException
            dup
            aload 4 /* exc3 */
            invokevirtual javax.management.AttributeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javax.management.AttributeNotFoundException exc3
        start local 3 // javax.management.ObjectName relServObjName
        38: .line 713
      StackMap locals: javax.management.ObjectName
      StackMap stack:
            iconst_0
            istore 4 /* badRelServFlag */
        start local 4 // boolean badRelServFlag
        39: .line 714
            aload 3 /* relServObjName */
            ifnonnull 42
        40: .line 715
            iconst_1
            istore 4 /* badRelServFlag */
        41: .line 717
            goto 44
      StackMap locals: int
      StackMap stack:
        42: aload 3 /* relServObjName */
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myObjName:Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.equals:(Ljava/lang/Object;)Z
            ifne 44
        43: .line 718
            iconst_1
            istore 4 /* badRelServFlag */
        44: .line 720
      StackMap locals:
      StackMap stack:
            iload 4 /* badRelServFlag */
            ifeq 47
        45: .line 721
            ldc "The Relation Service referenced in the MBean is not the current one."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
        46: .line 722
            new javax.management.relation.InvalidRelationServiceException
            dup
            aload 5 /* excMsg */
            invokespecial javax.management.relation.InvalidRelationServiceException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.String excMsg
        47: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        48: .line 731
            ldc "RelationTypeName"
        49: .line 730
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* relTypeName */
        start local 5 // java.lang.String relTypeName
        50: .line 733
            goto 59
        end local 5 // java.lang.String relTypeName
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        51: astore 6 /* exc1 */
        start local 6 // javax.management.MBeanException exc1
        52: .line 734
            new java.lang.RuntimeException
            dup
        53: .line 735
            aload 6 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        54: .line 734
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.MBeanException exc1
        55: .line 736
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 6 /* exc2 */
        start local 6 // javax.management.ReflectionException exc2
        56: .line 737
            new java.lang.RuntimeException
            dup
            aload 6 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.ReflectionException exc2
        57: .line 738
      StackMap locals:
      StackMap stack: javax.management.AttributeNotFoundException
            astore 6 /* exc3 */
        start local 6 // javax.management.AttributeNotFoundException exc3
        58: .line 739
            new java.lang.RuntimeException
            dup
            aload 6 /* exc3 */
            invokevirtual javax.management.AttributeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.AttributeNotFoundException exc3
        start local 5 // java.lang.String relTypeName
        59: .line 741
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* relTypeName */
            ifnonnull 62
        60: .line 742
            ldc "No relation type provided."
            astore 6 /* excMsg */
        start local 6 // java.lang.String excMsg
        61: .line 743
            new javax.management.relation.RelationTypeNotFoundException
            dup
            aload 6 /* excMsg */
            invokespecial javax.management.relation.RelationTypeNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String excMsg
        62: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        63: .line 752
            ldc "retrieveAllRoles"
        64: .line 753
            aconst_null
        65: .line 754
            aconst_null
        66: .line 751
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            checkcast javax.management.relation.RoleList
            astore 6 /* roleList */
        start local 6 // javax.management.relation.RoleList roleList
        67: .line 755
            goto 74
        end local 6 // javax.management.relation.RoleList roleList
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        68: astore 7 /* exc1 */
        start local 7 // javax.management.MBeanException exc1
        69: .line 756
            new java.lang.RuntimeException
            dup
        70: .line 757
            aload 7 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        71: .line 756
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.MBeanException exc1
        72: .line 758
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        73: .line 759
            new java.lang.RuntimeException
            dup
            aload 7 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.ReflectionException exc2
        start local 6 // javax.management.relation.RoleList roleList
        74: .line 764
      StackMap locals: javax.management.relation.RoleList
      StackMap stack:
            aload 0 /* this */
            iconst_0
        75: .line 765
            aconst_null
        76: .line 766
            aload 1 /* relationObjectName */
        77: .line 767
            aload 2 /* relId */
        78: .line 768
            aload 5 /* relTypeName */
        79: .line 769
            aload 6 /* roleList */
        80: .line 764
            invokevirtual javax.management.relation.RelationService.addRelationInt:(ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
        81: .line 771
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 7
            monitorenter
        82: .line 772
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            aload 1 /* relationObjectName */
            aload 2 /* relId */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        83: .line 771
            aload 7
            monitorexit
        84: goto 87
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String javax.management.ObjectName int java.lang.String javax.management.relation.RoleList java.util.Map
      StackMap stack: java.lang.Throwable
        85: aload 7
            monitorexit
        86: athrow
        87: .line 780
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        88: .line 781
            new javax.management.Attribute
            dup
        89: .line 782
            ldc "RelationServiceManagementFlag"
        90: .line 783
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
        91: .line 781
            invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
        92: .line 780
            invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
        93: .line 784
            goto 95
      StackMap locals:
      StackMap stack: java.lang.Exception
        94: pop
        95: .line 790
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* newRefList */
        start local 7 // java.util.List newRefList
        96: .line 791
            aload 7 /* newRefList */
            aload 1 /* relationObjectName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        97: .line 792
            aload 0 /* this */
            aload 7 /* newRefList */
            aconst_null
            invokevirtual javax.management.relation.RelationService.updateUnregistrationListener:(Ljava/util/List;Ljava/util/List;)V
        98: .line 794
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        99: .line 795
            ldc "addRelation"
       100: .line 794
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
       101: .line 796
            return
        end local 7 // java.util.List newRefList
        end local 6 // javax.management.relation.RoleList roleList
        end local 5 // java.lang.String relTypeName
        end local 4 // boolean badRelServFlag
        end local 3 // javax.management.ObjectName relServObjName
        end local 2 // java.lang.String relId
        end local 1 // javax.management.ObjectName relationObjectName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0  102     0                this  Ljavax/management/relation/RelationService;
            0  102     1  relationObjectName  Ljavax/management/ObjectName;
            2    3     2              excMsg  Ljava/lang/String;
            9   10     2              excMsg  Ljava/lang/String;
           13   14     2               relId  Ljava/lang/String;
           22  102     2               relId  Ljava/lang/String;
           15   18     3                exc1  Ljavax/management/MBeanException;
           19   20     3                exc2  Ljavax/management/ReflectionException;
           21   22     3                exc3  Ljavax/management/AttributeNotFoundException;
           24   25     3              excMsg  Ljava/lang/String;
           29   30     3      relServObjName  Ljavax/management/ObjectName;
           38  102     3      relServObjName  Ljavax/management/ObjectName;
           31   34     4                exc1  Ljavax/management/MBeanException;
           35   36     4                exc2  Ljavax/management/ReflectionException;
           37   38     4                exc3  Ljavax/management/AttributeNotFoundException;
           39  102     4      badRelServFlag  Z
           46   47     5              excMsg  Ljava/lang/String;
           50   51     5         relTypeName  Ljava/lang/String;
           59  102     5         relTypeName  Ljava/lang/String;
           52   55     6                exc1  Ljavax/management/MBeanException;
           56   57     6                exc2  Ljavax/management/ReflectionException;
           58   59     6                exc3  Ljavax/management/AttributeNotFoundException;
           61   62     6              excMsg  Ljava/lang/String;
           67   68     6            roleList  Ljavax/management/relation/RoleList;
           74  102     6            roleList  Ljavax/management/relation/RoleList;
           69   72     7                exc1  Ljavax/management/MBeanException;
           73   74     7                exc2  Ljavax/management/ReflectionException;
           96  102     7          newRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
      Exception table:
        from    to  target  type
          10    13      14  Class javax.management.MBeanException
          10    13      18  Class javax.management.ReflectionException
          10    13      20  Class javax.management.AttributeNotFoundException
          25    29      30  Class javax.management.MBeanException
          25    29      34  Class javax.management.ReflectionException
          25    29      36  Class javax.management.AttributeNotFoundException
          47    50      51  Class javax.management.MBeanException
          47    50      55  Class javax.management.ReflectionException
          47    50      57  Class javax.management.AttributeNotFoundException
          62    67      68  Class javax.management.MBeanException
          62    67      72  Class javax.management.ReflectionException
          82    84      85  any
          85    86      85  any
          87    93      94  Class java.lang.Exception
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, java.lang.NoSuchMethodException, javax.management.relation.InvalidRelationIdException, javax.management.InstanceNotFoundException, javax.management.relation.InvalidRelationServiceException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRoleValueException
    MethodParameters:
                    Name  Flags
      relationObjectName  

  public javax.management.ObjectName isRelationMBean(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/management/ObjectName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 817
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 818
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 819
            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 822
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 823
            ldc "isRelationMBean"
            aload 1 /* relationId */
         5: .line 822
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 826
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* result */
        start local 2 // java.lang.Object result
         7: .line 827
            aload 2 /* result */
            instanceof javax.management.ObjectName
            ifeq 9
         8: .line 828
            aload 2 /* result */
            checkcast javax.management.ObjectName
            areturn
         9: .line 830
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object result
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljavax/management/relation/RelationService;
            0   10     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            7   10     2      result  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    MethodParameters:
            Name  Flags
      relationId  

  public java.lang.String isRelation(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.ObjectName objectName
         0: .line 848
            aload 1 /* objectName */
            ifnonnull 3
         1: .line 849
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 850
            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 853
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 854
            ldc "isRelation"
            aload 1 /* objectName */
         5: .line 853
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 856
            aconst_null
            astore 2 /* result */
        start local 2 // java.lang.String result
         7: .line 857
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         8: .line 858
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            aload 1 /* objectName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* relId */
        start local 4 // java.lang.String relId
         9: .line 859
            aload 4 /* relId */
            ifnull 11
        10: .line 860
            aload 4 /* relId */
            astore 2 /* result */
        end local 4 // java.lang.String relId
        11: .line 857
      StackMap locals: java.lang.String java.util.Map
      StackMap stack:
            aload 3
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 3
            monitorexit
        14: athrow
        15: .line 863
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // javax.management.ObjectName objectName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Ljavax/management/relation/RelationService;
            0   16     1  objectName  Ljavax/management/ObjectName;
            2    3     2      excMsg  Ljava/lang/String;
            7   16     2      result  Ljava/lang/String;
            9   11     4       relId  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    12      13  any
          13    14      13  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      objectName  

  public java.lang.Boolean hasRelation(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 879
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 880
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 881
            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 884
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 885
            ldc "hasRelation"
            aload 1 /* relationId */
         5: .line 884
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 889
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            pop
         7: .line 890
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         8: areturn
         9: .line 891
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
            pop
        10: .line 892
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljavax/management/relation/RelationService;
            0   11     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     8       9  Class javax.management.relation.RelationNotFoundException
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      relationId  

  public java.util.List<java.lang.String> getAllRelationIds();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // javax.management.relation.RelationService this
         0: .line 904
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 905
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* result */
        start local 1 // java.util.List result
         2: .line 904
            aload 2
            monitorexit
         3: goto 6
        end local 1 // java.util.List result
      StackMap locals: javax.management.relation.RelationService top java.util.Map
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
        start local 1 // java.util.List result
         6: .line 907
      StackMap locals: javax.management.relation.RelationService java.util.List
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/management/relation/RelationService;
            2    4     1  result  Ljava/util/List<Ljava/lang/String;>;
            6    7     1  result  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.lang.Integer checkRoleReading(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String roleName
        start local 2 // java.lang.String relationTypeName
         0: .line 931
            aload 1 /* roleName */
            ifnull 1
            aload 2 /* relationTypeName */
            ifnonnull 3
         1: .line 932
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 933
            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 936
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 937
            ldc "checkRoleReading"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* roleName */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
         5: .line 936
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 942
            aload 0 /* this */
            aload 2 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            astore 4 /* relType */
        start local 4 // javax.management.relation.RelationType relType
         7: .line 947
            aload 4 /* relType */
            aload 1 /* roleName */
            invokeinterface javax.management.relation.RelationType.getRoleInfo:(Ljava/lang/String;)Ljavax/management/relation/RoleInfo;
            astore 5 /* roleInfo */
        start local 5 // javax.management.relation.RoleInfo roleInfo
         8: .line 949
            aload 0 /* this */
            iconst_1
         9: .line 950
            aload 1 /* roleName */
        10: .line 951
            aconst_null
        11: .line 952
            aload 5 /* roleInfo */
        12: .line 953
            iconst_0
        13: .line 949
            invokevirtual javax.management.relation.RelationService.checkRoleInt:(ILjava/lang/String;Ljava/util/List;Ljavax/management/relation/RoleInfo;Z)Ljava/lang/Integer;
            astore 3 /* result */
        end local 5 // javax.management.relation.RoleInfo roleInfo
        start local 3 // java.lang.Integer result
        14: .line 955
            goto 17
        end local 3 // java.lang.Integer result
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String top javax.management.relation.RelationType
      StackMap stack: javax.management.relation.RoleInfoNotFoundException
        15: pop
        16: .line 956
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 3 /* result */
        start local 3 // java.lang.Integer result
        17: .line 959
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String java.lang.Integer javax.management.relation.RelationType
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 960
            ldc "checkRoleReading"
        19: .line 959
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 961
            aload 3 /* result */
            areturn
        end local 4 // javax.management.relation.RelationType relType
        end local 3 // java.lang.Integer result
        end local 2 // java.lang.String relationTypeName
        end local 1 // java.lang.String roleName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Ljavax/management/relation/RelationService;
            0   21     1          roleName  Ljava/lang/String;
            0   21     2  relationTypeName  Ljava/lang/String;
            2    3     3            excMsg  Ljava/lang/String;
           14   15     3            result  Ljava/lang/Integer;
           17   21     3            result  Ljava/lang/Integer;
            7   21     4           relType  Ljavax/management/relation/RelationType;
            8   14     5          roleInfo  Ljavax/management/relation/RoleInfo;
      Exception table:
        from    to  target  type
           7    14      15  Class javax.management.relation.RoleInfoNotFoundException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationTypeNotFoundException
    MethodParameters:
                  Name  Flags
      roleName          
      relationTypeName  

  public java.lang.Integer checkRoleWriting(javax.management.relation.Role, java.lang.String, java.lang.Boolean);
    descriptor: (Ljavax/management/relation/Role;Ljava/lang/String;Ljava/lang/Boolean;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.relation.Role role
        start local 2 // java.lang.String relationTypeName
        start local 3 // java.lang.Boolean initFlag
         0: .line 991
            aload 1 /* role */
            ifnull 3
         1: .line 992
            aload 2 /* relationTypeName */
            ifnull 3
         2: .line 993
            aload 3 /* initFlag */
            ifnonnull 5
         3: .line 994
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 995
            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
         5: .line 998
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 999
            ldc "checkRoleWriting"
         7: .line 1000
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* role */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* initFlag */
            aastore
         8: .line 998
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 1003
            aload 0 /* this */
            aload 2 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            astore 4 /* relType */
        start local 4 // javax.management.relation.RelationType relType
        10: .line 1005
            aload 1 /* role */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 5 /* roleName */
        start local 5 // java.lang.String roleName
        11: .line 1006
            aload 1 /* role */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 6 /* roleValue */
        start local 6 // java.util.List roleValue
        12: .line 1007
            iconst_1
            istore 7 /* writeChkFlag */
        start local 7 // boolean writeChkFlag
        13: .line 1008
            aload 3 /* initFlag */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 15
        14: .line 1009
            iconst_0
            istore 7 /* writeChkFlag */
        15: .line 1014
      StackMap locals: javax.management.relation.RelationService javax.management.relation.Role java.lang.String java.lang.Boolean javax.management.relation.RelationType java.lang.String java.util.List int
      StackMap stack:
            aload 4 /* relType */
            aload 5 /* roleName */
            invokeinterface javax.management.relation.RelationType.getRoleInfo:(Ljava/lang/String;)Ljavax/management/relation/RoleInfo;
            astore 8 /* roleInfo */
        start local 8 // javax.management.relation.RoleInfo roleInfo
        16: .line 1015
            goto 22
        end local 8 // javax.management.relation.RoleInfo roleInfo
      StackMap locals:
      StackMap stack: javax.management.relation.RoleInfoNotFoundException
        17: pop
        18: .line 1016
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        19: .line 1017
            ldc "checkRoleWriting"
        20: .line 1016
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 1018
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        start local 8 // javax.management.relation.RoleInfo roleInfo
        22: .line 1021
      StackMap locals: javax.management.relation.RoleInfo
      StackMap stack:
            aload 0 /* this */
            iconst_2
        23: .line 1022
            aload 5 /* roleName */
        24: .line 1023
            aload 6 /* roleValue */
        25: .line 1024
            aload 8 /* roleInfo */
        26: .line 1025
            iload 7 /* writeChkFlag */
        27: .line 1021
            invokevirtual javax.management.relation.RelationService.checkRoleInt:(ILjava/lang/String;Ljava/util/List;Ljavax/management/relation/RoleInfo;Z)Ljava/lang/Integer;
            astore 9 /* result */
        start local 9 // java.lang.Integer result
        28: .line 1027
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        29: .line 1028
            ldc "checkRoleWriting"
        30: .line 1027
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        31: .line 1029
            aload 9 /* result */
            areturn
        end local 9 // java.lang.Integer result
        end local 8 // javax.management.relation.RoleInfo roleInfo
        end local 7 // boolean writeChkFlag
        end local 6 // java.util.List roleValue
        end local 5 // java.lang.String roleName
        end local 4 // javax.management.relation.RelationType relType
        end local 3 // java.lang.Boolean initFlag
        end local 2 // java.lang.String relationTypeName
        end local 1 // javax.management.relation.Role role
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Ljavax/management/relation/RelationService;
            0   32     1              role  Ljavax/management/relation/Role;
            0   32     2  relationTypeName  Ljava/lang/String;
            0   32     3          initFlag  Ljava/lang/Boolean;
            4    5     4            excMsg  Ljava/lang/String;
           10   32     4           relType  Ljavax/management/relation/RelationType;
           11   32     5          roleName  Ljava/lang/String;
           12   32     6         roleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           13   32     7      writeChkFlag  Z
           16   17     8          roleInfo  Ljavax/management/relation/RoleInfo;
           22   32     8          roleInfo  Ljavax/management/relation/RoleInfo;
           28   32     9            result  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
          15    16      17  Class javax.management.relation.RoleInfoNotFoundException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationTypeNotFoundException
    MethodParameters:
                  Name  Flags
      role              
      relationTypeName  
      initFlag          

  public void sendRelationCreationNotification(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 1053
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 1054
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 1055
            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 1058
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1059
            ldc "sendRelationCreationNotification"
            aload 1 /* relationId */
         5: .line 1058
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 1062
            new java.lang.StringBuilder
            dup
            ldc "Creation of relation "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* ntfMsg */
        start local 2 // java.lang.StringBuilder ntfMsg
         7: .line 1063
            aload 2 /* ntfMsg */
            aload 1 /* relationId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1066
            aload 0 /* this */
            iconst_1
         9: .line 1067
            aload 2 /* ntfMsg */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 1068
            aload 1 /* relationId */
        11: .line 1069
            aconst_null
        12: .line 1070
            aconst_null
        13: .line 1071
            aconst_null
        14: .line 1072
            aconst_null
        15: .line 1066
            invokevirtual javax.management.relation.RelationService.sendNotificationInt:(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
        16: .line 1074
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        17: .line 1075
            ldc "sendRelationCreationNotification"
        18: .line 1074
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        19: .line 1076
            return
        end local 2 // java.lang.StringBuilder ntfMsg
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Ljavax/management/relation/RelationService;
            0   20     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            7   20     2      ntfMsg  Ljava/lang/StringBuilder;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    MethodParameters:
            Name  Flags
      relationId  

  public void sendRoleUpdateNotification(java.lang.String, javax.management.relation.Role, java.util.List<javax.management.ObjectName>);
    descriptor: (Ljava/lang/String;Ljavax/management/relation/Role;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.relation.Role newRole
        start local 3 // java.util.List oldValue
         0: .line 1107
            aload 1 /* relationId */
            ifnull 3
         1: .line 1108
            aload 2 /* newRole */
            ifnull 3
         2: .line 1109
            aload 3 /* oldValue */
            ifnonnull 5
         3: .line 1110
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 1111
            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
         5: .line 1114
      StackMap locals:
      StackMap stack:
            aload 3 /* oldValue */
            instanceof java.util.ArrayList
            ifne 7
         6: .line 1115
            new java.util.ArrayList
            dup
            aload 3 /* oldValue */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 3 /* oldValue */
         7: .line 1117
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         8: .line 1118
            ldc "sendRoleUpdateNotification"
         9: .line 1119
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* newRole */
            aastore
            dup
            iconst_2
            aload 3 /* oldValue */
            aastore
        10: .line 1117
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
        11: .line 1121
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 4 /* roleName */
        start local 4 // java.lang.String roleName
        12: .line 1122
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 5 /* newRoleVal */
        start local 5 // java.util.List newRoleVal
        13: .line 1125
            aload 5 /* newRoleVal */
            invokestatic javax.management.relation.Role.roleValueToString:(Ljava/util/List;)Ljava/lang/String;
            astore 6 /* newRoleValString */
        start local 6 // java.lang.String newRoleValString
        14: .line 1126
            aload 3 /* oldValue */
            invokestatic javax.management.relation.Role.roleValueToString:(Ljava/util/List;)Ljava/lang/String;
            astore 7 /* oldRoleValString */
        start local 7 // java.lang.String oldRoleValString
        15: .line 1127
            new java.lang.StringBuilder
            dup
            ldc "Value of role "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 8 /* ntfMsg */
        start local 8 // java.lang.StringBuilder ntfMsg
        16: .line 1128
            aload 8 /* ntfMsg */
            aload 4 /* roleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1129
            aload 8 /* ntfMsg */
            ldc " has changed\nOld value:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 1130
            aload 8 /* ntfMsg */
            aload 7 /* oldRoleValString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1131
            aload 8 /* ntfMsg */
            ldc "\nNew value:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 1132
            aload 8 /* ntfMsg */
            aload 6 /* newRoleValString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 1135
            aload 0 /* this */
            iconst_2
        22: .line 1136
            aload 8 /* ntfMsg */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 1137
            aload 1 /* relationId */
        24: .line 1138
            aconst_null
        25: .line 1139
            aload 4 /* roleName */
        26: .line 1140
            aload 5 /* newRoleVal */
        27: .line 1141
            aload 3 /* oldValue */
        28: .line 1135
            invokevirtual javax.management.relation.RelationService.sendNotificationInt:(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
        29: .line 1143
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        30: .line 1144
            ldc "sendRoleUpdateNotification"
        31: .line 1143
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        32: .line 1145
            return
        end local 8 // java.lang.StringBuilder ntfMsg
        end local 7 // java.lang.String oldRoleValString
        end local 6 // java.lang.String newRoleValString
        end local 5 // java.util.List newRoleVal
        end local 4 // java.lang.String roleName
        end local 3 // java.util.List oldValue
        end local 2 // javax.management.relation.Role newRole
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   33     0              this  Ljavax/management/relation/RelationService;
            0   33     1        relationId  Ljava/lang/String;
            0   33     2           newRole  Ljavax/management/relation/Role;
            0   33     3          oldValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            4    5     4            excMsg  Ljava/lang/String;
           12   33     4          roleName  Ljava/lang/String;
           13   33     5        newRoleVal  Ljava/util/List<Ljavax/management/ObjectName;>;
           14   33     6  newRoleValString  Ljava/lang/String;
           15   33     7  oldRoleValString  Ljava/lang/String;
           16   33     8            ntfMsg  Ljava/lang/StringBuilder;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    Signature: (Ljava/lang/String;Ljavax/management/relation/Role;Ljava/util/List<Ljavax/management/ObjectName;>;)V
    MethodParameters:
            Name  Flags
      relationId  
      newRole     
      oldValue    

  public void sendRelationRemovalNotification(java.lang.String, java.util.List<javax.management.ObjectName>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // java.util.List unregMBeanList
         0: .line 1170
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 1171
            ldc "Invalid parameter"
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 1172
            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 1175
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1176
            ldc "sendRelationRemovalNotification"
         5: .line 1177
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* unregMBeanList */
            aastore
         6: .line 1175
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 1180
            aload 0 /* this */
            iconst_3
         8: .line 1181
            new java.lang.StringBuilder
            dup
            ldc "Removal of relation "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* relationId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1182
            aload 1 /* relationId */
        10: .line 1183
            aload 2 /* unregMBeanList */
        11: .line 1184
            aconst_null
        12: .line 1185
            aconst_null
        13: .line 1186
            aconst_null
        14: .line 1180
            invokevirtual javax.management.relation.RelationService.sendNotificationInt:(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
        15: .line 1189
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        16: .line 1190
            ldc "sendRelationRemovalNotification"
        17: .line 1189
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 1191
            return
        end local 2 // java.util.List unregMBeanList
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Ljavax/management/relation/RelationService;
            0   19     1      relationId  Ljava/lang/String;
            0   19     2  unregMBeanList  Ljava/util/List<Ljavax/management/ObjectName;>;
            2    3     3          excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    Signature: (Ljava/lang/String;Ljava/util/List<Ljavax/management/ObjectName;>;)V
    MethodParameters:
                Name  Flags
      relationId      
      unregMBeanList  

  public void updateRoleMap(java.lang.String, javax.management.relation.Role, java.util.List<javax.management.ObjectName>);
    descriptor: (Ljava/lang/String;Ljavax/management/relation/Role;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.relation.Role newRole
        start local 3 // java.util.List oldValue
         0: .line 1222
            aload 1 /* relationId */
            ifnull 3
         1: .line 1223
            aload 2 /* newRole */
            ifnull 3
         2: .line 1224
            aload 3 /* oldValue */
            ifnonnull 5
         3: .line 1225
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 1226
            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
         5: .line 1229
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 1230
            ldc "updateRoleMap"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* newRole */
            aastore
            dup
            iconst_2
            aload 3 /* oldValue */
            aastore
         7: .line 1229
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 1233
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         9: .line 1237
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            pop
        10: .line 1239
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 4 /* roleName */
        start local 4 // java.lang.String roleName
        11: .line 1240
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 5 /* newRoleValue */
        start local 5 // java.util.List newRoleValue
        12: .line 1244
            new java.util.ArrayList
            dup
            aload 3 /* oldValue */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        13: .line 1243
            astore 6 /* oldRoleValue */
        start local 6 // java.util.List oldRoleValue
        14: .line 1247
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* newRefList */
        start local 7 // java.util.List newRefList
        15: .line 1249
            aload 5 /* newRoleValue */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 27
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.Role java.util.List java.lang.String java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        16: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 8 /* currObjName */
        start local 8 // javax.management.ObjectName currObjName
        17: .line 1255
            aload 6 /* oldRoleValue */
            aload 8 /* currObjName */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 10 /* currObjNamePos */
        start local 10 // int currObjNamePos
        18: .line 1257
            iload 10 /* currObjNamePos */
            iconst_m1
            if_icmpne 26
        19: .line 1263
            aload 0 /* this */
            aload 8 /* currObjName */
        20: .line 1264
            aload 1 /* relationId */
        21: .line 1265
            aload 4 /* roleName */
        22: .line 1263
            invokevirtual javax.management.relation.RelationService.addNewMBeanReference:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Z
            istore 11 /* isNewFlag */
        start local 11 // boolean isNewFlag
        23: .line 1267
            iload 11 /* isNewFlag */
            ifeq 27
        24: .line 1269
            aload 7 /* newRefList */
            aload 8 /* currObjName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // boolean isNewFlag
        25: .line 1272
            goto 27
        26: .line 1277
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.Role java.util.List java.lang.String java.util.List java.util.List java.util.List javax.management.ObjectName java.util.Iterator int
      StackMap stack:
            aload 6 /* oldRoleValue */
            iload 10 /* currObjNamePos */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        end local 10 // int currObjNamePos
        end local 8 // javax.management.ObjectName currObjName
        27: .line 1249
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.Role java.util.List java.lang.String java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        28: .line 1282
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* obsRefList */
        start local 8 // java.util.List obsRefList
        29: .line 1286
            aload 6 /* oldRoleValue */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 38
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.Role java.util.List java.lang.String java.util.List java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        30: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 9 /* currObjName */
        start local 9 // javax.management.ObjectName currObjName
        31: .line 1290
            aload 0 /* this */
            aload 9 /* currObjName */
        32: .line 1291
            aload 1 /* relationId */
        33: .line 1292
            aload 4 /* roleName */
        34: .line 1293
            iconst_0
        35: .line 1290
            invokevirtual javax.management.relation.RelationService.removeMBeanReference:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Z)Z
            istore 11 /* noLongerRefFlag */
        start local 11 // boolean noLongerRefFlag
        36: .line 1295
            iload 11 /* noLongerRefFlag */
            ifeq 38
        37: .line 1297
            aload 8 /* obsRefList */
            aload 9 /* currObjName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // boolean noLongerRefFlag
        end local 9 // javax.management.ObjectName currObjName
        38: .line 1286
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        39: .line 1304
            aload 0 /* this */
            aload 7 /* newRefList */
            aload 8 /* obsRefList */
            invokevirtual javax.management.relation.RelationService.updateUnregistrationListener:(Ljava/util/List;Ljava/util/List;)V
        40: .line 1306
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        41: .line 1307
            ldc "updateRoleMap"
        42: .line 1306
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        43: .line 1308
            return
        end local 8 // java.util.List obsRefList
        end local 7 // java.util.List newRefList
        end local 6 // java.util.List oldRoleValue
        end local 5 // java.util.List newRoleValue
        end local 4 // java.lang.String roleName
        end local 3 // java.util.List oldValue
        end local 2 // javax.management.relation.Role newRole
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   44     0             this  Ljavax/management/relation/RelationService;
            0   44     1       relationId  Ljava/lang/String;
            0   44     2          newRole  Ljavax/management/relation/Role;
            0   44     3         oldValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            4    5     4           excMsg  Ljava/lang/String;
           11   44     4         roleName  Ljava/lang/String;
           12   44     5     newRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           14   44     6     oldRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           15   44     7       newRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
           17   27     8      currObjName  Ljavax/management/ObjectName;
           18   27    10   currObjNamePos  I
           23   25    11        isNewFlag  Z
           29   44     8       obsRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
           31   38     9      currObjName  Ljavax/management/ObjectName;
           36   38    11  noLongerRefFlag  Z
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationNotFoundException
    Signature: (Ljava/lang/String;Ljavax/management/relation/Role;Ljava/util/List<Ljavax/management/ObjectName;>;)V
    MethodParameters:
            Name  Flags
      relationId  
      newRole     
      oldValue    

  public void removeRelation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 1334
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         1: .line 1336
            aload 1 /* relationId */
            ifnonnull 4
         2: .line 1337
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         3: .line 1338
            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
         4: .line 1341
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 1342
            ldc "removeRelation"
            aload 1 /* relationId */
         6: .line 1341
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 1346
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* result */
        start local 2 // java.lang.Object result
         8: .line 1349
            aload 2 /* result */
            instanceof javax.management.ObjectName
            ifeq 12
         9: .line 1350
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* obsRefList */
        start local 3 // java.util.List obsRefList
        10: .line 1351
            aload 3 /* obsRefList */
            aload 2 /* result */
            checkcast javax.management.ObjectName
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1353
            aload 0 /* this */
            aconst_null
            aload 3 /* obsRefList */
            invokevirtual javax.management.relation.RelationService.updateUnregistrationListener:(Ljava/util/List;Ljava/util/List;)V
        end local 3 // java.util.List obsRefList
        12: .line 1367
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* relationId */
            aconst_null
            invokevirtual javax.management.relation.RelationService.sendRelationRemovalNotification:(Ljava/lang/String;Ljava/util/List;)V
        13: .line 1379
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* refMBeanList */
        start local 3 // java.util.List refMBeanList
        14: .line 1382
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* nonRefObjNameList */
        start local 4 // java.util.List nonRefObjNameList
        15: .line 1384
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        16: .line 1387
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 25
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List java.util.Map top java.util.Iterator
      StackMap stack:
        17: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 6 /* currRefObjName */
        start local 6 // javax.management.ObjectName currRefObjName
        18: .line 1391
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 6 /* currRefObjName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        19: .line 1390
            astore 8 /* relIdMap */
        start local 8 // java.util.Map relIdMap
        20: .line 1393
            aload 8 /* relIdMap */
            aload 1 /* relationId */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 1394
            aload 8 /* relIdMap */
            aload 1 /* relationId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 1395
            aload 3 /* refMBeanList */
            aload 6 /* currRefObjName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 1398
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List java.util.Map javax.management.ObjectName java.util.Iterator java.util.Map
      StackMap stack:
            aload 8 /* relIdMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 25
        24: .line 1402
            aload 4 /* nonRefObjNameList */
            aload 6 /* currRefObjName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.util.Map relIdMap
        end local 6 // javax.management.ObjectName currRefObjName
        25: .line 1386
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List java.util.Map top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        26: .line 1408
            aload 4 /* nonRefObjNameList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 29
      StackMap locals:
      StackMap stack:
        27: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 6 /* currRefObjName */
        start local 6 // javax.management.ObjectName currRefObjName
        28: .line 1409
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 6 /* currRefObjName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // javax.management.ObjectName currRefObjName
        29: .line 1408
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        30: .line 1384
            aload 5
            monitorexit
        31: goto 34
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        32: aload 5
            monitorexit
        33: athrow
        34: .line 1414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        35: .line 1415
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            aload 1 /* relationId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 1414
            aload 5
            monitorexit
        37: goto 40
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        38: aload 5
            monitorexit
        39: athrow
        40: .line 1418
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            instanceof javax.management.ObjectName
            ifeq 47
        41: .line 1420
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        42: .line 1421
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            aload 2 /* result */
            checkcast javax.management.ObjectName
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        43: .line 1420
            aload 5
            monitorexit
        44: goto 47
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        45: aload 5
            monitorexit
        46: athrow
        47: .line 1428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 6
            monitorenter
        48: .line 1429
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            aload 1 /* relationId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* relTypeName */
        start local 5 // java.lang.String relTypeName
        49: .line 1430
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            aload 1 /* relationId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 1428
            aload 6
            monitorexit
        51: goto 54
        end local 5 // java.lang.String relTypeName
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List top java.util.Map
      StackMap stack: java.lang.Throwable
        52: aload 6
            monitorexit
        53: athrow
        start local 5 // java.lang.String relTypeName
        54: .line 1433
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object java.util.List java.util.List java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 6
            monitorenter
        55: .line 1434
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            aload 5 /* relTypeName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* relIdList */
        start local 7 // java.util.List relIdList
        56: .line 1435
            aload 7 /* relIdList */
            ifnull 60
        57: .line 1437
            aload 7 /* relIdList */
            aload 1 /* relationId */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        58: .line 1438
            aload 7 /* relIdList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 60
        59: .line 1440
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            aload 5 /* relTypeName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.List relIdList
        60: .line 1433
      StackMap locals: java.util.Map
      StackMap stack:
            aload 6
            monitorexit
        61: goto 64
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: aload 6
            monitorexit
        63: athrow
        64: .line 1445
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        65: .line 1446
            ldc "removeRelation"
        66: .line 1445
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        67: .line 1447
            return
        end local 5 // java.lang.String relTypeName
        end local 4 // java.util.List nonRefObjNameList
        end local 3 // java.util.List refMBeanList
        end local 2 // java.lang.Object result
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   68     0               this  Ljavax/management/relation/RelationService;
            0   68     1         relationId  Ljava/lang/String;
            3    4     2             excMsg  Ljava/lang/String;
            8   68     2             result  Ljava/lang/Object;
           10   12     3         obsRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
           14   68     3       refMBeanList  Ljava/util/List<Ljavax/management/ObjectName;>;
           15   68     4  nonRefObjNameList  Ljava/util/List<Ljavax/management/ObjectName;>;
           18   25     6     currRefObjName  Ljavax/management/ObjectName;
           20   25     8           relIdMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           28   29     6     currRefObjName  Ljavax/management/ObjectName;
           49   52     5        relTypeName  Ljava/lang/String;
           54   68     5        relTypeName  Ljava/lang/String;
           56   60     7          relIdList  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          16    31      32  any
          32    33      32  any
          35    37      38  any
          38    39      38  any
          42    44      45  any
          45    46      45  any
          48    51      52  any
          52    53      52  any
          55    61      62  any
          62    63      62  any
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    MethodParameters:
            Name  Flags
      relationId  

  public void purgeRelations();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // javax.management.relation.RelationService this
         0: .line 1479
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 1480
            ldc "purgeRelations"
         2: .line 1479
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 1483
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         4: .line 1495
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         5: .line 1497
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfList:Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
         6: .line 1496
            astore 1 /* localUnregNtfList */
        start local 1 // java.util.List localUnregNtfList
         7: .line 1499
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield javax.management.relation.RelationService.myUnregNtfList:Ljava/util/List;
         8: .line 1495
            aload 2
            monitorexit
         9: goto 12
        end local 1 // java.util.List localUnregNtfList
      StackMap locals: javax.management.relation.RelationService top java.util.Map
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        start local 1 // java.util.List localUnregNtfList
        12: .line 1509
      StackMap locals: javax.management.relation.RelationService java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* obsRefList */
        start local 2 // java.util.List obsRefList
        13: .line 1513
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        14: .line 1512
            astore 3 /* localMBean2RelIdMap */
        start local 3 // java.util.Map localMBean2RelIdMap
        15: .line 1515
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 4
            monitorenter
        16: .line 1516
            aload 1 /* localUnregNtfList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        17: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.MBeanServerNotification
            astore 5 /* currNtf */
        start local 5 // javax.management.MBeanServerNotification currNtf
        18: .line 1518
            aload 5 /* currNtf */
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
            astore 7 /* unregMBeanName */
        start local 7 // javax.management.ObjectName unregMBeanName
        19: .line 1522
            aload 2 /* obsRefList */
            aload 7 /* unregMBeanName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 1526
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 7 /* unregMBeanName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        21: .line 1525
            astore 8 /* relIdMap */
        start local 8 // java.util.Map relIdMap
        22: .line 1527
            aload 3 /* localMBean2RelIdMap */
            aload 7 /* unregMBeanName */
            aload 8 /* relIdMap */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 1529
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 7 /* unregMBeanName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.util.Map relIdMap
        end local 7 // javax.management.ObjectName unregMBeanName
        end local 5 // javax.management.MBeanServerNotification currNtf
        24: .line 1516
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        25: .line 1515
            aload 4
            monitorexit
        26: goto 29
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map java.util.Map
      StackMap stack: java.lang.Throwable
        27: aload 4
            monitorexit
        28: athrow
        29: .line 1535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            aload 2 /* obsRefList */
            invokevirtual javax.management.relation.RelationService.updateUnregistrationListener:(Ljava/util/List;Ljava/util/List;)V
        30: .line 1537
            aload 1 /* localUnregNtfList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 49
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map top java.util.Iterator
      StackMap stack:
        31: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.MBeanServerNotification
            astore 4 /* currNtf */
        start local 4 // javax.management.MBeanServerNotification currNtf
        32: .line 1539
            aload 4 /* currNtf */
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
            astore 6 /* unregMBeanName */
        start local 6 // javax.management.ObjectName unregMBeanName
        33: .line 1543
            aload 3 /* localMBean2RelIdMap */
            aload 6 /* unregMBeanName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        34: .line 1542
            astore 7 /* localRelIdMap */
        start local 7 // java.util.Map localRelIdMap
        35: .line 1548
            aload 7 /* localRelIdMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 48
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map javax.management.MBeanServerNotification java.util.Iterator javax.management.ObjectName java.util.Map top java.util.Iterator
      StackMap stack:
        36: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* currRel */
        start local 8 // java.util.Map$Entry currRel
        37: .line 1549
            aload 8 /* currRel */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* currRelId */
        start local 10 // java.lang.String currRelId
        38: .line 1552
            aload 8 /* currRel */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            astore 11 /* localRoleNameList */
        start local 11 // java.util.List localRoleNameList
        39: .line 1566
            aload 0 /* this */
            aload 10 /* currRelId */
        40: .line 1567
            aload 6 /* unregMBeanName */
        41: .line 1568
            aload 11 /* localRoleNameList */
        42: .line 1566
            invokevirtual javax.management.relation.RelationService.handleReferenceUnregistration:(Ljava/lang/String;Ljavax/management/ObjectName;Ljava/util/List;)V
        43: .line 1569
            goto 48
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map javax.management.MBeanServerNotification java.util.Iterator javax.management.ObjectName java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String java.util.List
      StackMap stack: javax.management.relation.RelationNotFoundException
        44: astore 12 /* exc1 */
        start local 12 // javax.management.relation.RelationNotFoundException exc1
        45: .line 1570
            new java.lang.RuntimeException
            dup
            aload 12 /* exc1 */
            invokevirtual javax.management.relation.RelationNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // javax.management.relation.RelationNotFoundException exc1
        46: .line 1571
      StackMap locals:
      StackMap stack: javax.management.relation.RoleNotFoundException
            astore 12 /* exc2 */
        start local 12 // javax.management.relation.RoleNotFoundException exc2
        47: .line 1572
            new java.lang.RuntimeException
            dup
            aload 12 /* exc2 */
            invokevirtual javax.management.relation.RoleNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // javax.management.relation.RoleNotFoundException exc2
        end local 11 // java.util.List localRoleNameList
        end local 10 // java.lang.String currRelId
        end local 8 // java.util.Map$Entry currRel
        48: .line 1547
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map javax.management.MBeanServerNotification java.util.Iterator javax.management.ObjectName java.util.Map top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        end local 7 // java.util.Map localRelIdMap
        end local 6 // javax.management.ObjectName unregMBeanName
        end local 4 // javax.management.MBeanServerNotification currNtf
        49: .line 1537
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        50: .line 1577
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        51: .line 1578
            ldc "purgeRelations"
        52: .line 1577
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        53: .line 1579
            return
        end local 3 // java.util.Map localMBean2RelIdMap
        end local 2 // java.util.List obsRefList
        end local 1 // java.util.List localUnregNtfList
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   54     0                 this  Ljavax/management/relation/RelationService;
            7   10     1    localUnregNtfList  Ljava/util/List<Ljavax/management/MBeanServerNotification;>;
           12   54     1    localUnregNtfList  Ljava/util/List<Ljavax/management/MBeanServerNotification;>;
           13   54     2           obsRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
           15   54     3  localMBean2RelIdMap  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;>;
           18   24     5              currNtf  Ljavax/management/MBeanServerNotification;
           19   24     7       unregMBeanName  Ljavax/management/ObjectName;
           22   24     8             relIdMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           32   49     4              currNtf  Ljavax/management/MBeanServerNotification;
           33   49     6       unregMBeanName  Ljavax/management/ObjectName;
           35   49     7        localRelIdMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           37   48     8              currRel  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           38   48    10            currRelId  Ljava/lang/String;
           39   48    11    localRoleNameList  Ljava/util/List<Ljava/lang/String;>;
           45   46    12                 exc1  Ljavax/management/relation/RelationNotFoundException;
           47   48    12                 exc2  Ljavax/management/relation/RoleNotFoundException;
      Exception table:
        from    to  target  type
           5     9      10  any
          10    11      10  any
          16    26      27  any
          27    28      27  any
          39    43      44  Class javax.management.relation.RelationNotFoundException
          39    43      46  Class javax.management.relation.RoleNotFoundException
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException

  public java.util.Map<java.lang.String, java.util.List<java.lang.String>> findReferencingRelations(javax.management.ObjectName, java.lang.String, java.lang.String);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.ObjectName mbeanName
        start local 2 // java.lang.String relationTypeName
        start local 3 // java.lang.String roleName
         0: .line 1608
            aload 1 /* mbeanName */
            ifnonnull 3
         1: .line 1609
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         2: .line 1610
            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
         3: .line 1613
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1614
            ldc "findReferencingRelations"
         5: .line 1615
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* mbeanName */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* roleName */
            aastore
         6: .line 1613
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 1617
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.Map result
         8: .line 1619
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
         9: .line 1623
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 1 /* mbeanName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        10: .line 1622
            astore 6 /* relId2RoleNamesMap */
        start local 6 // java.util.Map relId2RoleNamesMap
        11: .line 1625
            aload 6 /* relId2RoleNamesMap */
            ifnull 43
        12: .line 1628
            aload 6 /* relId2RoleNamesMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 7 /* allRelIdSet */
        start local 7 // java.util.Set allRelIdSet
        13: .line 1633
            aload 2 /* relationTypeName */
            ifnonnull 16
        14: .line 1635
            new java.util.ArrayList
            dup
            aload 7 /* allRelIdSet */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 8 /* relIdList */
        start local 8 // java.util.List relIdList
        15: .line 1637
            goto 29
        end local 8 // java.util.List relIdList
        16: .line 1639
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* relIdList */
        start local 8 // java.util.List relIdList
        17: .line 1643
            aload 7 /* allRelIdSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 28
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
        18: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* currRelId */
        start local 9 // java.lang.String currRelId
        19: .line 1647
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 12
            monitorenter
        20: .line 1649
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            aload 9 /* currRelId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
        21: .line 1648
            astore 11 /* currRelTypeName */
        start local 11 // java.lang.String currRelTypeName
        22: .line 1647
            aload 12
            monitorexit
        23: goto 26
        end local 11 // java.lang.String currRelTypeName
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List java.lang.String java.util.Iterator top java.util.Map
      StackMap stack: java.lang.Throwable
        24: aload 12
            monitorexit
        25: athrow
        start local 11 // java.lang.String currRelTypeName
        26: .line 1652
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List java.lang.String java.util.Iterator java.lang.String
      StackMap stack:
            aload 11 /* currRelTypeName */
            aload 2 /* relationTypeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 1654
            aload 8 /* relIdList */
            aload 9 /* currRelId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String currRelTypeName
        end local 9 // java.lang.String currRelId
        28: .line 1643
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        29: .line 1663
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List
      StackMap stack:
            aload 8 /* relIdList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 42
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
        30: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* currRelId */
        start local 9 // java.lang.String currRelId
        31: .line 1667
            aload 6 /* relId2RoleNamesMap */
            aload 9 /* currRelId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
        32: .line 1666
            astore 11 /* currRoleNameList */
        start local 11 // java.util.List currRoleNameList
        33: .line 1669
            aload 3 /* roleName */
            ifnonnull 38
        34: .line 1673
            aload 4 /* result */
            aload 9 /* currRelId */
        35: .line 1674
            new java.util.ArrayList
            dup
            aload 11 /* currRoleNameList */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        36: .line 1673
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 1676
            goto 42
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List java.lang.String java.util.Iterator java.util.List
      StackMap stack:
        38: aload 11 /* currRoleNameList */
            aload 3 /* roleName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 42
        39: .line 1679
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* dummyList */
        start local 12 // java.util.List dummyList
        40: .line 1680
            aload 12 /* dummyList */
            aload 3 /* roleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1681
            aload 4 /* result */
            aload 9 /* currRelId */
            aload 12 /* dummyList */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // java.util.List dummyList
        end local 11 // java.util.List currRoleNameList
        end local 9 // java.lang.String currRelId
        42: .line 1663
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.util.Map java.util.Set java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        end local 8 // java.util.List relIdList
        end local 7 // java.util.Set allRelIdSet
        end local 6 // java.util.Map relId2RoleNamesMap
        43: .line 1619
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map
      StackMap stack:
            aload 5
            monitorexit
        44: goto 47
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: aload 5
            monitorexit
        46: athrow
        47: .line 1687
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        48: .line 1688
            ldc "findReferencingRelations"
        49: .line 1687
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        50: .line 1689
            aload 4 /* result */
            areturn
        end local 4 // java.util.Map result
        end local 3 // java.lang.String roleName
        end local 2 // java.lang.String relationTypeName
        end local 1 // javax.management.ObjectName mbeanName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   51     0                this  Ljavax/management/relation/RelationService;
            0   51     1           mbeanName  Ljavax/management/ObjectName;
            0   51     2    relationTypeName  Ljava/lang/String;
            0   51     3            roleName  Ljava/lang/String;
            2    3     4              excMsg  Ljava/lang/String;
            8   51     4              result  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           11   43     6  relId2RoleNamesMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           13   43     7         allRelIdSet  Ljava/util/Set<Ljava/lang/String;>;
           15   16     8           relIdList  Ljava/util/List<Ljava/lang/String;>;
           17   43     8           relIdList  Ljava/util/List<Ljava/lang/String;>;
           19   28     9           currRelId  Ljava/lang/String;
           22   24    11     currRelTypeName  Ljava/lang/String;
           26   28    11     currRelTypeName  Ljava/lang/String;
           31   42     9           currRelId  Ljava/lang/String;
           33   42    11    currRoleNameList  Ljava/util/List<Ljava/lang/String;>;
           40   42    12           dummyList  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          20    23      24  any
          24    25      24  any
           9    44      45  any
          45    46      45  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
                  Name  Flags
      mbeanName         
      relationTypeName  
      roleName          

  public java.util.Map<javax.management.ObjectName, java.util.List<java.lang.String>> findAssociatedMBeans(javax.management.ObjectName, java.lang.String, java.lang.String);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.ObjectName mbeanName
        start local 2 // java.lang.String relationTypeName
        start local 3 // java.lang.String roleName
         0: .line 1718
            aload 1 /* mbeanName */
            ifnonnull 3
         1: .line 1719
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         2: .line 1720
            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
         3: .line 1723
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1724
            ldc "findAssociatedMBeans"
         5: .line 1725
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* mbeanName */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* roleName */
            aastore
         6: .line 1723
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 1730
            aload 0 /* this */
            aload 1 /* mbeanName */
         8: .line 1731
            aload 2 /* relationTypeName */
         9: .line 1732
            aload 3 /* roleName */
        10: .line 1730
            invokevirtual javax.management.relation.RelationService.findReferencingRelations:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
        11: .line 1729
            astore 4 /* relId2RoleNamesMap */
        start local 4 // java.util.Map relId2RoleNamesMap
        12: .line 1735
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        13: .line 1734
            astore 5 /* result */
        start local 5 // java.util.Map result
        14: .line 1737
            aload 4 /* relId2RoleNamesMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 31
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        15: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* currRelId */
        start local 6 // java.lang.String currRelId
        16: .line 1745
            aload 0 /* this */
            aload 6 /* currRelId */
            invokevirtual javax.management.relation.RelationService.getReferencedMBeans:(Ljava/lang/String;)Ljava/util/Map;
            astore 8 /* objName2RoleNamesMap */
        start local 8 // java.util.Map objName2RoleNamesMap
        17: .line 1746
            goto 20
        end local 8 // java.util.Map objName2RoleNamesMap
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.lang.String java.util.Iterator
      StackMap stack: javax.management.relation.RelationNotFoundException
        18: astore 9 /* exc */
        start local 9 // javax.management.relation.RelationNotFoundException exc
        19: .line 1747
            new java.lang.RuntimeException
            dup
            aload 9 /* exc */
            invokevirtual javax.management.relation.RelationNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // javax.management.relation.RelationNotFoundException exc
        start local 8 // java.util.Map objName2RoleNamesMap
        20: .line 1752
      StackMap locals: java.util.Map
      StackMap stack:
            aload 8 /* objName2RoleNamesMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 30
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.lang.String java.util.Iterator java.util.Map top java.util.Iterator
      StackMap stack:
        21: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 9 /* currObjName */
        start local 9 // javax.management.ObjectName currObjName
        22: .line 1754
            aload 9 /* currObjName */
            aload 1 /* mbeanName */
            invokevirtual javax.management.ObjectName.equals:(Ljava/lang/Object;)Z
            ifne 30
        23: .line 1758
            aload 5 /* result */
            aload 9 /* currObjName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 11 /* currRelIdList */
        start local 11 // java.util.List currRelIdList
        24: .line 1759
            aload 11 /* currRelIdList */
            ifnonnull 29
        25: .line 1761
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* currRelIdList */
        26: .line 1762
            aload 11 /* currRelIdList */
            aload 6 /* currRelId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        27: .line 1763
            aload 5 /* result */
            aload 9 /* currObjName */
            aload 11 /* currRelIdList */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 1765
            goto 30
        29: .line 1766
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.lang.String java.util.Iterator java.util.Map javax.management.ObjectName java.util.Iterator java.util.List
      StackMap stack:
            aload 11 /* currRelIdList */
            aload 6 /* currRelId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.util.List currRelIdList
        end local 9 // javax.management.ObjectName currObjName
        30: .line 1752
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map java.lang.String java.util.Iterator java.util.Map top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 8 // java.util.Map objName2RoleNamesMap
        end local 6 // java.lang.String currRelId
        31: .line 1737
      StackMap locals: javax.management.relation.RelationService javax.management.ObjectName java.lang.String java.lang.String java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        32: .line 1772
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        33: .line 1773
            ldc "findAssociatedMBeans"
        34: .line 1772
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 1774
            aload 5 /* result */
            areturn
        end local 5 // java.util.Map result
        end local 4 // java.util.Map relId2RoleNamesMap
        end local 3 // java.lang.String roleName
        end local 2 // java.lang.String relationTypeName
        end local 1 // javax.management.ObjectName mbeanName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   36     0                  this  Ljavax/management/relation/RelationService;
            0   36     1             mbeanName  Ljavax/management/ObjectName;
            0   36     2      relationTypeName  Ljava/lang/String;
            0   36     3              roleName  Ljava/lang/String;
            2    3     4                excMsg  Ljava/lang/String;
           12   36     4    relId2RoleNamesMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           14   36     5                result  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           16   31     6             currRelId  Ljava/lang/String;
           17   18     8  objName2RoleNamesMap  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           20   31     8  objName2RoleNamesMap  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           19   20     9                   exc  Ljavax/management/relation/RelationNotFoundException;
           22   30     9           currObjName  Ljavax/management/ObjectName;
           24   30    11         currRelIdList  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          16    17      18  Class javax.management.relation.RelationNotFoundException
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
                  Name  Flags
      mbeanName         
      relationTypeName  
      roleName          

  public java.util.List<java.lang.String> findRelationsOfType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
         0: .line 1792
            aload 1 /* relationTypeName */
            ifnonnull 3
         1: .line 1793
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 1794
            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 1797
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1798
            ldc "findRelationsOfType"
         5: .line 1797
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 1801
            aload 0 /* this */
            aload 1 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            pop
         7: .line 1804
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         8: .line 1805
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            aload 1 /* relationTypeName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* result1 */
        start local 4 // java.util.List result1
         9: .line 1806
            aload 4 /* result1 */
            ifnonnull 12
        10: .line 1807
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
        11: goto 13
        end local 2 // java.util.List result
        12: .line 1809
      StackMap locals: javax.management.relation.RelationService java.lang.String top java.util.Map java.util.List
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 4 /* result1 */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* result */
        end local 4 // java.util.List result1
        start local 2 // java.util.List result
        13: .line 1804
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.util.Map
      StackMap stack:
            aload 3
            monitorexit
        14: goto 17
        end local 2 // java.util.List result
      StackMap locals: javax.management.relation.RelationService java.lang.String top java.util.Map
      StackMap stack: java.lang.Throwable
        15: aload 3
            monitorexit
        16: athrow
        start local 2 // java.util.List result
        17: .line 1812
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 1813
            ldc "findRelationsOfType"
        19: .line 1812
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 1814
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Ljavax/management/relation/RelationService;
            0   21     1  relationTypeName  Ljava/lang/String;
            2    3     2            excMsg  Ljava/lang/String;
           11   12     2            result  Ljava/util/List<Ljava/lang/String;>;
           13   15     2            result  Ljava/util/List<Ljava/lang/String;>;
           17   21     2            result  Ljava/util/List<Ljava/lang/String;>;
            9   13     4           result1  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           8    14      15  any
          15    16      15  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationTypeNotFoundException
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      relationTypeName  

  public java.util.List<javax.management.ObjectName> getRole(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // java.lang.String roleName
         0: .line 1843
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleName */
            ifnonnull 3
         1: .line 1844
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 1845
            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 1848
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1849
            ldc "getRole"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* roleName */
            aastore
         5: .line 1848
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 1852
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 1855
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* relObj */
        start local 3 // java.lang.Object relObj
         8: .line 1859
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 16
         9: .line 1863
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* roleName */
        10: .line 1864
            iconst_1
        11: .line 1865
            aload 0 /* this */
        12: .line 1866
            iconst_0
        13: .line 1863
            invokevirtual javax.management.relation.RelationSupport.getRoleInt:(Ljava/lang/String;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
        14: .line 1862
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* result */
        start local 4 // java.util.List result
        15: .line 1868
            goto 40
        end local 4 // java.util.List result
        16: .line 1870
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        17: .line 1871
            aload 5 /* params */
            iconst_0
            aload 2 /* roleName */
            aastore
        18: .line 1872
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        19: .line 1873
            aload 6 /* signature */
            iconst_0
            ldc "java.lang.String"
            aastore
        20: .line 1880
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        21: .line 1881
            ldc "getRole"
        22: .line 1882
            aload 5 /* params */
        23: .line 1883
            aload 6 /* signature */
        24: .line 1880
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        25: .line 1879
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* invokeResult */
        start local 7 // java.util.List invokeResult
        26: .line 1884
            aload 7 /* invokeResult */
            ifnull 27
            aload 7 /* invokeResult */
            instanceof java.util.ArrayList
            ifeq 29
        27: .line 1885
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String java.lang.Object top java.lang.Object[] java.lang.String[] java.util.List
      StackMap stack:
            aload 7 /* invokeResult */
            astore 4 /* result */
        start local 4 // java.util.List result
        28: goto 40
        end local 4 // java.util.List result
        29: .line 1887
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 7 /* invokeResult */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 4 /* result */
        end local 7 // java.util.List invokeResult
        start local 4 // java.util.List result
        30: .line 1888
            goto 40
        end local 4 // java.util.List result
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String java.lang.Object top java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.InstanceNotFoundException
        31: astore 7 /* exc1 */
        start local 7 // javax.management.InstanceNotFoundException exc1
        32: .line 1889
            new java.lang.RuntimeException
            dup
            aload 7 /* exc1 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.InstanceNotFoundException exc1
        33: .line 1890
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        34: .line 1891
            new java.lang.RuntimeException
            dup
            aload 7 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.ReflectionException exc2
        35: .line 1892
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        36: .line 1893
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 8 /* wrappedExc */
        start local 8 // java.lang.Exception wrappedExc
        37: .line 1894
            aload 8 /* wrappedExc */
            instanceof javax.management.relation.RoleNotFoundException
            ifeq 39
        38: .line 1895
            aload 8 /* wrappedExc */
            checkcast javax.management.relation.RoleNotFoundException
            athrow
        39: .line 1897
      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
        start local 4 // java.util.List result
        40: .line 1902
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String java.lang.Object java.util.List
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getRole"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        41: .line 1903
            aload 4 /* result */
            areturn
        end local 4 // java.util.List result
        end local 3 // java.lang.Object relObj
        end local 2 // java.lang.String roleName
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   42     0          this  Ljavax/management/relation/RelationService;
            0   42     1    relationId  Ljava/lang/String;
            0   42     2      roleName  Ljava/lang/String;
            2    3     3        excMsg  Ljava/lang/String;
            8   42     3        relObj  Ljava/lang/Object;
           15   16     4        result  Ljava/util/List<Ljavax/management/ObjectName;>;
           28   29     4        result  Ljava/util/List<Ljavax/management/ObjectName;>;
           30   31     4        result  Ljava/util/List<Ljavax/management/ObjectName;>;
           40   42     4        result  Ljava/util/List<Ljavax/management/ObjectName;>;
           17   40     5        params  [Ljava/lang/Object;
           19   40     6     signature  [Ljava/lang/String;
           26   30     7  invokeResult  Ljava/util/List<Ljavax/management/ObjectName;>;
           32   33     7          exc1  Ljavax/management/InstanceNotFoundException;
           34   35     7          exc2  Ljavax/management/ReflectionException;
           36   40     7          exc3  Ljavax/management/MBeanException;
           37   40     8    wrappedExc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          20    30      31  Class javax.management.InstanceNotFoundException
          20    30      33  Class javax.management.ReflectionException
          20    30      35  Class javax.management.MBeanException
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException, javax.management.relation.RoleNotFoundException
    Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/util/List<Ljavax/management/ObjectName;>;
    MethodParameters:
            Name  Flags
      relationId  
      roleName    

  public javax.management.relation.RoleResult getRoles(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljavax/management/relation/RoleResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // java.lang.String[] roleNameArray
         0: .line 1929
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleNameArray */
            ifnonnull 3
         1: .line 1930
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 1931
            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 1934
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1935
            ldc "getRoles"
            aload 1 /* relationId */
         5: .line 1934
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 1938
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 1941
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* relObj */
        start local 3 // java.lang.Object relObj
         8: .line 1945
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 14
         9: .line 1947
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* roleNameArray */
        10: .line 1948
            iconst_1
        11: .line 1949
            aload 0 /* this */
        12: .line 1947
            invokevirtual javax.management.relation.RelationSupport.getRolesInt:([Ljava/lang/String;ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
            astore 4 /* result */
        start local 4 // javax.management.relation.RoleResult result
        13: .line 1950
            goto 34
        end local 4 // javax.management.relation.RoleResult result
        14: .line 1952
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        15: .line 1953
            aload 5 /* params */
            iconst_0
            aload 2 /* roleNameArray */
            aastore
        16: .line 1954
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        17: .line 1956
            aload 6 /* signature */
            iconst_0
            aload 2 /* roleNameArray */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        18: .line 1957
            goto 20
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String[] java.lang.Object top java.lang.Object[] java.lang.String[]
      StackMap stack: java.lang.Exception
        19: pop
        20: .line 1965
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        21: .line 1966
            ldc "getRoles"
        22: .line 1967
            aload 5 /* params */
        23: .line 1968
            aload 6 /* signature */
        24: .line 1965
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        25: .line 1964
            checkcast javax.management.relation.RoleResult
            astore 4 /* result */
        start local 4 // javax.management.relation.RoleResult result
        26: .line 1969
            goto 34
        end local 4 // javax.management.relation.RoleResult result
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        27: astore 7 /* exc1 */
        start local 7 // javax.management.InstanceNotFoundException exc1
        28: .line 1970
            new java.lang.RuntimeException
            dup
            aload 7 /* exc1 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.InstanceNotFoundException exc1
        29: .line 1971
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        30: .line 1972
            new java.lang.RuntimeException
            dup
            aload 7 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.ReflectionException exc2
        31: .line 1973
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        32: .line 1975
            new java.lang.RuntimeException
            dup
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        33: .line 1974
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.MBeanException exc3
        end local 6 // java.lang.String[] signature
        end local 5 // java.lang.Object[] params
        start local 4 // javax.management.relation.RoleResult result
        34: .line 1979
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String[] java.lang.Object javax.management.relation.RoleResult
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getRoles"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 1980
            aload 4 /* result */
            areturn
        end local 4 // javax.management.relation.RoleResult result
        end local 3 // java.lang.Object relObj
        end local 2 // java.lang.String[] roleNameArray
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0           this  Ljavax/management/relation/RelationService;
            0   36     1     relationId  Ljava/lang/String;
            0   36     2  roleNameArray  [Ljava/lang/String;
            2    3     3         excMsg  Ljava/lang/String;
            8   36     3         relObj  Ljava/lang/Object;
           13   14     4         result  Ljavax/management/relation/RoleResult;
           26   27     4         result  Ljavax/management/relation/RoleResult;
           34   36     4         result  Ljavax/management/relation/RoleResult;
           15   34     5         params  [Ljava/lang/Object;
           17   34     6      signature  [Ljava/lang/String;
           28   29     7           exc1  Ljavax/management/InstanceNotFoundException;
           30   31     7           exc2  Ljavax/management/ReflectionException;
           32   34     7           exc3  Ljavax/management/MBeanException;
      Exception table:
        from    to  target  type
          17    18      19  Class java.lang.Exception
          20    26      27  Class javax.management.InstanceNotFoundException
          20    26      29  Class javax.management.ReflectionException
          20    26      31  Class javax.management.MBeanException
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    MethodParameters:
               Name  Flags
      relationId     
      roleNameArray  

  public javax.management.relation.RoleResult getAllRoles(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/management/relation/RoleResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 2002
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 2003
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2004
            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 2007
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2008
            ldc "getRoles"
            aload 1 /* relationId */
         5: .line 2007
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 2011
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* relObj */
        start local 2 // java.lang.Object relObj
         7: .line 2015
            aload 2 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 10
         8: .line 2017
            aload 2 /* relObj */
            checkcast javax.management.relation.RelationSupport
            iconst_1
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationSupport.getAllRolesInt:(ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
            astore 3 /* result */
        start local 3 // javax.management.relation.RoleResult result
         9: .line 2019
            goto 17
        end local 3 // javax.management.relation.RoleResult result
        10: .line 2024
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 2 /* relObj */
            checkcast javax.management.ObjectName
        11: .line 2025
            ldc "AllRoles"
        12: .line 2024
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        13: .line 2023
            checkcast javax.management.relation.RoleResult
            astore 3 /* result */
        start local 3 // javax.management.relation.RoleResult result
        14: .line 2026
            goto 17
        end local 3 // javax.management.relation.RoleResult result
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 4 /* exc */
        start local 4 // java.lang.Exception exc
        16: .line 2027
            new java.lang.RuntimeException
            dup
            aload 4 /* exc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception exc
        start local 3 // javax.management.relation.RoleResult result
        17: .line 2031
      StackMap locals: javax.management.relation.RoleResult
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "getRoles"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 2032
            aload 3 /* result */
            areturn
        end local 3 // javax.management.relation.RoleResult result
        end local 2 // java.lang.Object relObj
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljavax/management/relation/RelationService;
            0   19     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            7   19     2      relObj  Ljava/lang/Object;
            9   10     3      result  Ljavax/management/relation/RoleResult;
           14   15     3      result  Ljavax/management/relation/RoleResult;
           17   19     3      result  Ljavax/management/relation/RoleResult;
           16   17     4         exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    14      15  Class java.lang.Exception
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException, javax.management.relation.RelationServiceNotRegisteredException
    MethodParameters:
            Name  Flags
      relationId  

  public java.lang.Integer getRoleCardinality(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // java.lang.String roleName
         0: .line 2053
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleName */
            ifnonnull 3
         1: .line 2054
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2055
            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 2058
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2059
            ldc "getRoleCardinality"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* roleName */
            aastore
         5: .line 2058
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2062
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* relObj */
        start local 3 // java.lang.Object relObj
         7: .line 2066
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 10
         8: .line 2069
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* roleName */
            invokevirtual javax.management.relation.RelationSupport.getRoleCardinality:(Ljava/lang/String;)Ljava/lang/Integer;
            astore 4 /* result */
        start local 4 // java.lang.Integer result
         9: .line 2071
            goto 30
        end local 4 // java.lang.Integer result
        10: .line 2073
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        11: .line 2074
            aload 5 /* params */
            iconst_0
            aload 2 /* roleName */
            aastore
        12: .line 2075
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        13: .line 2076
            aload 6 /* signature */
            iconst_0
            ldc "java.lang.String"
            aastore
        14: .line 2083
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        15: .line 2084
            ldc "getRoleCardinality"
        16: .line 2085
            aload 5 /* params */
        17: .line 2086
            aload 6 /* signature */
        18: .line 2083
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        19: .line 2082
            checkcast java.lang.Integer
            astore 4 /* result */
        start local 4 // java.lang.Integer result
        20: .line 2087
            goto 30
        end local 4 // java.lang.Integer result
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String java.lang.Object top java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.InstanceNotFoundException
        21: astore 7 /* exc1 */
        start local 7 // javax.management.InstanceNotFoundException exc1
        22: .line 2088
            new java.lang.RuntimeException
            dup
            aload 7 /* exc1 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.InstanceNotFoundException exc1
        23: .line 2089
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        24: .line 2090
            new java.lang.RuntimeException
            dup
            aload 7 /* exc2 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.ReflectionException exc2
        25: .line 2091
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        26: .line 2092
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 8 /* wrappedExc */
        start local 8 // java.lang.Exception wrappedExc
        27: .line 2093
            aload 8 /* wrappedExc */
            instanceof javax.management.relation.RoleNotFoundException
            ifeq 29
        28: .line 2094
            aload 8 /* wrappedExc */
            checkcast javax.management.relation.RoleNotFoundException
            athrow
        29: .line 2096
      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
        start local 4 // java.lang.Integer result
        30: .line 2101
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.String java.lang.Object java.lang.Integer
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        31: .line 2102
            ldc "getRoleCardinality"
        32: .line 2101
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 2103
            aload 4 /* result */
            areturn
        end local 4 // java.lang.Integer result
        end local 3 // java.lang.Object relObj
        end local 2 // java.lang.String roleName
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0        this  Ljavax/management/relation/RelationService;
            0   34     1  relationId  Ljava/lang/String;
            0   34     2    roleName  Ljava/lang/String;
            2    3     3      excMsg  Ljava/lang/String;
            7   34     3      relObj  Ljava/lang/Object;
            9   10     4      result  Ljava/lang/Integer;
           20   21     4      result  Ljava/lang/Integer;
           30   34     4      result  Ljava/lang/Integer;
           11   30     5      params  [Ljava/lang/Object;
           13   30     6   signature  [Ljava/lang/String;
           22   23     7        exc1  Ljavax/management/InstanceNotFoundException;
           24   25     7        exc2  Ljavax/management/ReflectionException;
           26   30     7        exc3  Ljavax/management/MBeanException;
           27   30     8  wrappedExc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          14    20      21  Class javax.management.InstanceNotFoundException
          14    20      23  Class javax.management.ReflectionException
          14    20      25  Class javax.management.MBeanException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException, javax.management.relation.RoleNotFoundException
    MethodParameters:
            Name  Flags
      relationId  
      roleName    

  public void setRole(java.lang.String, javax.management.relation.Role);
    descriptor: (Ljava/lang/String;Ljavax/management/relation/Role;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.relation.Role role
         0: .line 2145
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* role */
            ifnonnull 3
         1: .line 2146
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2147
            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 2150
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2151
            ldc "setRole"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* role */
            aastore
         5: .line 2150
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2154
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 2157
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* relObj */
        start local 3 // java.lang.Object relObj
         8: .line 2159
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 17
         9: .line 2168
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* role */
        10: .line 2169
            iconst_1
        11: .line 2170
            aload 0 /* this */
        12: .line 2171
            iconst_0
        13: .line 2168
            invokevirtual javax.management.relation.RelationSupport.setRoleInt:(Ljavax/management/relation/Role;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
            pop
        14: .line 2173
            goto 40
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.Role java.lang.Object
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
        15: astore 4 /* exc */
        start local 4 // javax.management.relation.RelationTypeNotFoundException exc
        16: .line 2174
            new java.lang.RuntimeException
            dup
            aload 4 /* exc */
            invokevirtual javax.management.relation.RelationTypeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javax.management.relation.RelationTypeNotFoundException exc
        17: .line 2179
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 4 /* params */
        start local 4 // java.lang.Object[] params
        18: .line 2180
            aload 4 /* params */
            iconst_0
            aload 2 /* role */
            aastore
        19: .line 2181
            iconst_1
            anewarray java.lang.String
            astore 5 /* signature */
        start local 5 // java.lang.String[] signature
        20: .line 2182
            aload 5 /* signature */
            iconst_0
            ldc "javax.management.relation.Role"
            aastore
        21: .line 2190
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        22: .line 2191
            new javax.management.Attribute
            dup
            ldc "Role"
            aload 2 /* role */
            invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
        23: .line 2190
            invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
        24: .line 2193
            goto 40
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.Role java.lang.Object java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.InstanceNotFoundException
        25: astore 6 /* exc1 */
        start local 6 // javax.management.InstanceNotFoundException exc1
        26: .line 2194
            new java.lang.RuntimeException
            dup
            aload 6 /* exc1 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.InstanceNotFoundException exc1
        27: .line 2195
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 6 /* exc3 */
        start local 6 // javax.management.ReflectionException exc3
        28: .line 2196
            new java.lang.RuntimeException
            dup
            aload 6 /* exc3 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.ReflectionException exc3
        29: .line 2197
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 6 /* exc2 */
        start local 6 // javax.management.MBeanException exc2
        30: .line 2198
            aload 6 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 7 /* wrappedExc */
        start local 7 // java.lang.Exception wrappedExc
        31: .line 2199
            aload 7 /* wrappedExc */
            instanceof javax.management.relation.RoleNotFoundException
            ifeq 33
        32: .line 2200
            aload 7 /* wrappedExc */
            checkcast javax.management.relation.RoleNotFoundException
            athrow
        33: .line 2201
      StackMap locals: javax.management.MBeanException java.lang.Exception
      StackMap stack:
            aload 7 /* wrappedExc */
            instanceof javax.management.relation.InvalidRoleValueException
            ifeq 35
        34: .line 2202
            aload 7 /* wrappedExc */
            checkcast javax.management.relation.InvalidRoleValueException
            athrow
        35: .line 2204
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            aload 7 /* wrappedExc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Exception wrappedExc
        end local 6 // javax.management.MBeanException exc2
        36: .line 2207
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.Role java.lang.Object java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.AttributeNotFoundException
            astore 6 /* exc4 */
        start local 6 // javax.management.AttributeNotFoundException exc4
        37: .line 2208
            new java.lang.RuntimeException
            dup
            aload 6 /* exc4 */
            invokevirtual javax.management.AttributeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.AttributeNotFoundException exc4
        38: .line 2209
      StackMap locals:
      StackMap stack: javax.management.InvalidAttributeValueException
            astore 6 /* exc5 */
        start local 6 // javax.management.InvalidAttributeValueException exc5
        39: .line 2210
            new java.lang.RuntimeException
            dup
            aload 6 /* exc5 */
            invokevirtual javax.management.InvalidAttributeValueException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.InvalidAttributeValueException exc5
        end local 5 // java.lang.String[] signature
        end local 4 // java.lang.Object[] params
        40: .line 2214
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "setRole"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        41: .line 2215
            return
        end local 3 // java.lang.Object relObj
        end local 2 // javax.management.relation.Role role
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   42     0        this  Ljavax/management/relation/RelationService;
            0   42     1  relationId  Ljava/lang/String;
            0   42     2        role  Ljavax/management/relation/Role;
            2    3     3      excMsg  Ljava/lang/String;
            8   42     3      relObj  Ljava/lang/Object;
           16   17     4         exc  Ljavax/management/relation/RelationTypeNotFoundException;
           18   40     4      params  [Ljava/lang/Object;
           20   40     5   signature  [Ljava/lang/String;
           26   27     6        exc1  Ljavax/management/InstanceNotFoundException;
           28   29     6        exc3  Ljavax/management/ReflectionException;
           30   36     6        exc2  Ljavax/management/MBeanException;
           31   36     7  wrappedExc  Ljava/lang/Exception;
           37   38     6        exc4  Ljavax/management/AttributeNotFoundException;
           39   40     6        exc5  Ljavax/management/InvalidAttributeValueException;
      Exception table:
        from    to  target  type
           9    14      15  Class javax.management.relation.RelationTypeNotFoundException
          21    24      25  Class javax.management.InstanceNotFoundException
          21    24      27  Class javax.management.ReflectionException
          21    24      29  Class javax.management.MBeanException
          21    24      36  Class javax.management.AttributeNotFoundException
          21    24      38  Class javax.management.InvalidAttributeValueException
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRoleValueException
    MethodParameters:
            Name  Flags
      relationId  
      role        

  public javax.management.relation.RoleResult setRoles(java.lang.String, javax.management.relation.RoleList);
    descriptor: (Ljava/lang/String;Ljavax/management/relation/RoleList;)Ljavax/management/relation/RoleResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.relation.RoleList roleList
         0: .line 2245
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleList */
            ifnonnull 3
         1: .line 2246
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2247
            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 2250
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2251
            ldc "setRoles"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* roleList */
            aastore
         5: .line 2250
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2254
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 2257
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 3 /* relObj */
        start local 3 // java.lang.Object relObj
         8: .line 2261
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 16
         9: .line 2268
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* roleList */
        10: .line 2269
            iconst_1
        11: .line 2270
            aload 0 /* this */
        12: .line 2268
            invokevirtual javax.management.relation.RelationSupport.setRolesInt:(Ljavax/management/relation/RoleList;ZLjavax/management/relation/RelationService;)Ljavax/management/relation/RoleResult;
            astore 4 /* result */
        start local 4 // javax.management.relation.RoleResult result
        13: .line 2271
            goto 34
        end local 4 // javax.management.relation.RoleResult result
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.RoleList java.lang.Object
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
        14: astore 5 /* exc */
        start local 5 // javax.management.relation.RelationTypeNotFoundException exc
        15: .line 2272
            new java.lang.RuntimeException
            dup
            aload 5 /* exc */
            invokevirtual javax.management.relation.RelationTypeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // javax.management.relation.RelationTypeNotFoundException exc
        16: .line 2277
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        17: .line 2278
            aload 5 /* params */
            iconst_0
            aload 2 /* roleList */
            aastore
        18: .line 2279
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        19: .line 2280
            aload 6 /* signature */
            iconst_0
            ldc "javax.management.relation.RoleList"
            aastore
        20: .line 2285
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        21: .line 2286
            ldc "setRoles"
        22: .line 2287
            aload 5 /* params */
        23: .line 2288
            aload 6 /* signature */
        24: .line 2285
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        25: .line 2284
            checkcast javax.management.relation.RoleResult
            astore 4 /* result */
        start local 4 // javax.management.relation.RoleResult result
        26: .line 2289
            goto 34
        end local 4 // javax.management.relation.RoleResult result
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.RoleList java.lang.Object top java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.InstanceNotFoundException
        27: astore 7 /* exc1 */
        start local 7 // javax.management.InstanceNotFoundException exc1
        28: .line 2290
            new java.lang.RuntimeException
            dup
            aload 7 /* exc1 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.InstanceNotFoundException exc1
        29: .line 2291
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc3 */
        start local 7 // javax.management.ReflectionException exc3
        30: .line 2292
            new java.lang.RuntimeException
            dup
            aload 7 /* exc3 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.ReflectionException exc3
        31: .line 2293
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc2 */
        start local 7 // javax.management.MBeanException exc2
        32: .line 2295
            new java.lang.RuntimeException
            dup
            aload 7 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        33: .line 2294
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.MBeanException exc2
        end local 6 // java.lang.String[] signature
        end local 5 // java.lang.Object[] params
        start local 4 // javax.management.relation.RoleResult result
        34: .line 2299
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.RoleList java.lang.Object javax.management.relation.RoleResult
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "setRoles"
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 2300
            aload 4 /* result */
            areturn
        end local 4 // javax.management.relation.RoleResult result
        end local 3 // java.lang.Object relObj
        end local 2 // javax.management.relation.RoleList roleList
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   36     0        this  Ljavax/management/relation/RelationService;
            0   36     1  relationId  Ljava/lang/String;
            0   36     2    roleList  Ljavax/management/relation/RoleList;
            2    3     3      excMsg  Ljava/lang/String;
            8   36     3      relObj  Ljava/lang/Object;
           13   14     4      result  Ljavax/management/relation/RoleResult;
           26   27     4      result  Ljavax/management/relation/RoleResult;
           34   36     4      result  Ljavax/management/relation/RoleResult;
           15   16     5         exc  Ljavax/management/relation/RelationTypeNotFoundException;
           17   34     5      params  [Ljava/lang/Object;
           19   34     6   signature  [Ljava/lang/String;
           28   29     7        exc1  Ljavax/management/InstanceNotFoundException;
           30   31     7        exc3  Ljavax/management/ReflectionException;
           32   34     7        exc2  Ljavax/management/MBeanException;
      Exception table:
        from    to  target  type
           9    13      14  Class javax.management.relation.RelationTypeNotFoundException
          20    26      27  Class javax.management.InstanceNotFoundException
          20    26      29  Class javax.management.ReflectionException
          20    26      31  Class javax.management.MBeanException
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException, java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    MethodParameters:
            Name  Flags
      relationId  
      roleList    

  public java.util.Map<javax.management.ObjectName, java.util.List<java.lang.String>> getReferencedMBeans(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 2320
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 2321
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2322
            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 2325
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2326
            ldc "getReferencedMBeans"
            aload 1 /* relationId */
         5: .line 2325
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 2329
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* relObj */
        start local 2 // java.lang.Object relObj
         7: .line 2333
            aload 2 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 10
         8: .line 2335
            aload 2 /* relObj */
            checkcast javax.management.relation.RelationSupport
            invokevirtual javax.management.relation.RelationSupport.getReferencedMBeans:()Ljava/util/Map;
            astore 3 /* result */
        start local 3 // java.util.Map result
         9: .line 2337
            goto 17
        end local 3 // java.util.Map result
        10: .line 2342
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 2 /* relObj */
            checkcast javax.management.ObjectName
        11: .line 2343
            ldc "ReferencedMBeans"
        12: .line 2342
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        13: .line 2341
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* result */
        start local 3 // java.util.Map result
        14: .line 2344
            goto 17
        end local 3 // java.util.Map result
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 4 /* exc */
        start local 4 // java.lang.Exception exc
        16: .line 2345
            new java.lang.RuntimeException
            dup
            aload 4 /* exc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception exc
        start local 3 // java.util.Map result
        17: .line 2349
      StackMap locals: java.util.Map
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 2350
            ldc "getReferencedMBeans"
        19: .line 2349
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 2351
            aload 3 /* result */
            areturn
        end local 3 // java.util.Map result
        end local 2 // java.lang.Object relObj
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Ljavax/management/relation/RelationService;
            0   21     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            7   21     2      relObj  Ljava/lang/Object;
            9   10     3      result  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           14   15     3      result  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           17   21     3      result  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           16   17     4         exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    14      15  Class java.lang.Exception
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    Signature: (Ljava/lang/String;)Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
            Name  Flags
      relationId  

  public java.lang.String getRelationTypeName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 2369
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 2370
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2371
            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 2374
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2375
            ldc "getRelationTypeName"
            aload 1 /* relationId */
         5: .line 2374
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 2378
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 2 /* relObj */
        start local 2 // java.lang.Object relObj
         7: .line 2382
            aload 2 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 10
         8: .line 2384
            aload 2 /* relObj */
            checkcast javax.management.relation.RelationSupport
            invokevirtual javax.management.relation.RelationSupport.getRelationTypeName:()Ljava/lang/String;
            astore 3 /* result */
        start local 3 // java.lang.String result
         9: .line 2386
            goto 17
        end local 3 // java.lang.String result
        10: .line 2391
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 2 /* relObj */
            checkcast javax.management.ObjectName
        11: .line 2392
            ldc "RelationTypeName"
        12: .line 2391
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        13: .line 2390
            checkcast java.lang.String
            astore 3 /* result */
        start local 3 // java.lang.String result
        14: .line 2393
            goto 17
        end local 3 // java.lang.String result
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: astore 4 /* exc */
        start local 4 // java.lang.Exception exc
        16: .line 2394
            new java.lang.RuntimeException
            dup
            aload 4 /* exc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception exc
        start local 3 // java.lang.String result
        17: .line 2398
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 2399
            ldc "getRelationTypeName"
        19: .line 2398
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 2400
            aload 3 /* result */
            areturn
        end local 3 // java.lang.String result
        end local 2 // java.lang.Object relObj
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Ljavax/management/relation/RelationService;
            0   21     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            7   21     2      relObj  Ljava/lang/Object;
            9   10     3      result  Ljava/lang/String;
           14   15     3      result  Ljava/lang/String;
           17   21     3      result  Ljava/lang/String;
           16   17     4         exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    14      15  Class java.lang.Exception
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    MethodParameters:
            Name  Flags
      relationId  

  public void handleNotification(javax.management.Notification, java.lang.Object);
    descriptor: (Ljavax/management/Notification;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.Notification notif
        start local 2 // java.lang.Object handback
         0: .line 2419
            aload 1 /* notif */
            ifnonnull 3
         1: .line 2420
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2421
            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 2424
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2425
            ldc "handleNotification"
            aload 1 /* notif */
         5: .line 2424
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 2427
            aload 1 /* notif */
            instanceof javax.management.MBeanServerNotification
            ifeq 45
         7: .line 2429
            aload 1 /* notif */
            checkcast javax.management.MBeanServerNotification
            astore 3 /* mbsNtf */
        start local 3 // javax.management.MBeanServerNotification mbsNtf
         8: .line 2430
            aload 1 /* notif */
            invokevirtual javax.management.Notification.getType:()Ljava/lang/String;
            astore 4 /* ntfType */
        start local 4 // java.lang.String ntfType
         9: .line 2432
            aload 4 /* ntfType */
        10: .line 2433
            ldc "JMX.mbean.unregistered"
        11: .line 2432
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        12: .line 2433
            ifeq 45
        13: .line 2435
            aload 1 /* notif */
            checkcast javax.management.MBeanServerNotification
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
        14: .line 2434
            astore 5 /* mbeanName */
        start local 5 // javax.management.ObjectName mbeanName
        15: .line 2439
            iconst_0
            istore 6 /* isRefedMBeanFlag */
        start local 6 // boolean isRefedMBeanFlag
        16: .line 2440
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 7
            monitorenter
        17: .line 2442
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 5 /* mbeanName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 25
        18: .line 2444
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfList:Ljava/util/List;
            dup
            astore 8
            monitorenter
        19: .line 2445
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfList:Ljava/util/List;
            aload 3 /* mbsNtf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 2444
            aload 8
            monitorexit
        21: goto 24
      StackMap locals: javax.management.relation.RelationService javax.management.Notification java.lang.Object javax.management.MBeanServerNotification java.lang.String javax.management.ObjectName int java.util.Map java.util.List
      StackMap stack: java.lang.Throwable
        22: aload 8
            monitorexit
        23: athrow
        24: .line 2447
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* isRefedMBeanFlag */
        25: .line 2449
      StackMap locals:
      StackMap stack:
            iload 6 /* isRefedMBeanFlag */
            ifeq 30
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myPurgeFlag:Z
            ifeq 30
        26: .line 2454
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.purgeRelations:()V
        27: .line 2455
            goto 30
      StackMap locals:
      StackMap stack: java.lang.Exception
        28: astore 8 /* exc */
        start local 8 // java.lang.Exception exc
        29: .line 2456
            new java.lang.RuntimeException
            dup
            aload 8 /* exc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Exception exc
        30: .line 2440
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        31: goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: aload 7
            monitorexit
        33: athrow
        34: .line 2464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 8
            monitorenter
        35: .line 2465
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            aload 5 /* mbeanName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* relId */
        start local 7 // java.lang.String relId
        36: .line 2464
            aload 8
            monitorexit
        37: goto 40
        end local 7 // java.lang.String relId
      StackMap locals: javax.management.relation.RelationService javax.management.Notification java.lang.Object javax.management.MBeanServerNotification java.lang.String javax.management.ObjectName int top java.util.Map
      StackMap stack: java.lang.Throwable
        38: aload 8
            monitorexit
        39: athrow
        start local 7 // java.lang.String relId
        40: .line 2467
      StackMap locals: javax.management.relation.RelationService javax.management.Notification java.lang.Object javax.management.MBeanServerNotification java.lang.String javax.management.ObjectName int java.lang.String
      StackMap stack:
            aload 7 /* relId */
            ifnull 45
        41: .line 2475
            aload 0 /* this */
            aload 7 /* relId */
            invokevirtual javax.management.relation.RelationService.removeRelation:(Ljava/lang/String;)V
        42: .line 2476
            goto 45
      StackMap locals:
      StackMap stack: java.lang.Exception
        43: astore 8 /* exc */
        start local 8 // java.lang.Exception exc
        44: .line 2477
            new java.lang.RuntimeException
            dup
            aload 8 /* exc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.Exception exc
        end local 7 // java.lang.String relId
        end local 6 // boolean isRefedMBeanFlag
        end local 5 // javax.management.ObjectName mbeanName
        end local 4 // java.lang.String ntfType
        end local 3 // javax.management.MBeanServerNotification mbsNtf
        45: .line 2483
      StackMap locals: javax.management.relation.RelationService javax.management.Notification java.lang.Object
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        46: .line 2484
            ldc "handleNotification"
        47: .line 2483
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        48: .line 2485
            return
        end local 2 // java.lang.Object handback
        end local 1 // javax.management.Notification notif
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   49     0              this  Ljavax/management/relation/RelationService;
            0   49     1             notif  Ljavax/management/Notification;
            0   49     2          handback  Ljava/lang/Object;
            2    3     3            excMsg  Ljava/lang/String;
            8   45     3            mbsNtf  Ljavax/management/MBeanServerNotification;
            9   45     4           ntfType  Ljava/lang/String;
           15   45     5         mbeanName  Ljavax/management/ObjectName;
           16   45     6  isRefedMBeanFlag  Z
           29   30     8               exc  Ljava/lang/Exception;
           36   38     7             relId  Ljava/lang/String;
           40   45     7             relId  Ljava/lang/String;
           44   45     8               exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          19    21      22  any
          22    23      22  any
          26    27      28  Class java.lang.Exception
          17    31      32  any
          32    33      32  any
          35    37      38  any
          38    39      38  any
          41    42      43  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      notif     
      handback  

  public javax.management.MBeanNotificationInfo[] getNotificationInfo();
    descriptor: ()[Ljavax/management/MBeanNotificationInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // javax.management.relation.RelationService this
         0: .line 2498
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 2499
            ldc "getNotificationInfo"
         2: .line 2498
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 2501
            ldc "javax.management.relation.RelationNotification"
            astore 1 /* ntfClass */
        start local 1 // java.lang.String ntfClass
         4: .line 2503
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
         5: .line 2504
            ldc "jmx.relation.creation.basic"
            aastore
            dup
            iconst_1
         6: .line 2505
            ldc "jmx.relation.creation.mbean"
            aastore
            dup
            iconst_2
         7: .line 2506
            ldc "jmx.relation.update.basic"
            aastore
            dup
            iconst_3
         8: .line 2507
            ldc "jmx.relation.update.mbean"
            aastore
            dup
            iconst_4
         9: .line 2508
            ldc "jmx.relation.removal.basic"
            aastore
            dup
            iconst_5
        10: .line 2509
            ldc "jmx.relation.removal.mbean"
            aastore
        11: .line 2503
            astore 2 /* ntfTypes */
        start local 2 // java.lang.String[] ntfTypes
        12: .line 2512
            ldc "Sent when a relation is created, updated or deleted."
            astore 3 /* ntfDesc */
        start local 3 // java.lang.String ntfDesc
        13: .line 2515
            new javax.management.MBeanNotificationInfo
            dup
            aload 2 /* ntfTypes */
            aload 1 /* ntfClass */
            aload 3 /* ntfDesc */
            invokespecial javax.management.MBeanNotificationInfo.<init>:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 2514
            astore 4 /* ntfInfo */
        start local 4 // javax.management.MBeanNotificationInfo ntfInfo
        15: .line 2517
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        16: .line 2518
            ldc "getNotificationInfo"
        17: .line 2517
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 2519
            iconst_1
            anewarray javax.management.MBeanNotificationInfo
            dup
            iconst_0
            aload 4 /* ntfInfo */
            aastore
            areturn
        end local 4 // javax.management.MBeanNotificationInfo ntfInfo
        end local 3 // java.lang.String ntfDesc
        end local 2 // java.lang.String[] ntfTypes
        end local 1 // java.lang.String ntfClass
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Ljavax/management/relation/RelationService;
            4   19     1  ntfClass  Ljava/lang/String;
           12   19     2  ntfTypes  [Ljava/lang/String;
           13   19     3   ntfDesc  Ljava/lang/String;
           15   19     4   ntfInfo  Ljavax/management/MBeanNotificationInfo;

  private void addRelationTypeInt(javax.management.relation.RelationType);
    descriptor: (Ljavax/management/relation/RelationType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.relation.RelationType relationTypeObj
         0: .line 2537
            aload 1 /* relationTypeObj */
            ifnonnull 3
         1: .line 2538
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2539
            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 2542
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2543
            ldc "addRelationTypeInt"
         5: .line 2542
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 2545
            aload 1 /* relationTypeObj */
            invokeinterface javax.management.relation.RelationType.getRelationTypeName:()Ljava/lang/String;
            astore 2 /* relTypeName */
        start local 2 // java.lang.String relTypeName
         7: .line 2551
            aload 0 /* this */
            aload 2 /* relTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            astore 3 /* relType */
        start local 3 // javax.management.relation.RelationType relType
         8: .line 2553
            aload 3 /* relType */
            ifnull 14
         9: .line 2554
            ldc "There is already a relation type in the Relation Service with name "
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
        10: .line 2555
            new java.lang.StringBuilder
            dup
            aload 4 /* excMsg */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 5 /* excMsgStrB */
        start local 5 // java.lang.StringBuilder excMsgStrB
        11: .line 2556
            aload 5 /* excMsgStrB */
            aload 2 /* relTypeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 2557
            new javax.management.relation.InvalidRelationTypeException
            dup
            aload 5 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.InvalidRelationTypeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.StringBuilder excMsgStrB
        end local 4 // java.lang.String excMsg
        end local 3 // javax.management.relation.RelationType relType
        13: .line 2560
      StackMap locals: javax.management.relation.RelationService javax.management.relation.RelationType java.lang.String
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
            pop
        14: .line 2565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
        15: .line 2566
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            aload 2 /* relTypeName */
            aload 1 /* relationTypeObj */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 2565
            aload 3
            monitorexit
        17: goto 20
      StackMap locals: javax.management.relation.RelationService javax.management.relation.RelationType java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
        18: aload 3
            monitorexit
        19: athrow
        20: .line 2569
      StackMap locals:
      StackMap stack:
            aload 1 /* relationTypeObj */
            instanceof javax.management.relation.RelationTypeSupport
            ifeq 22
        21: .line 2570
            aload 1 /* relationTypeObj */
            checkcast javax.management.relation.RelationTypeSupport
            iconst_1
            invokevirtual javax.management.relation.RelationTypeSupport.setRelationServiceFlag:(Z)V
        22: .line 2573
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        23: .line 2574
            ldc "addRelationTypeInt"
        24: .line 2573
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        25: .line 2575
            return
        end local 2 // java.lang.String relTypeName
        end local 1 // javax.management.relation.RelationType relationTypeObj
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Ljavax/management/relation/RelationService;
            0   26     1  relationTypeObj  Ljavax/management/relation/RelationType;
            2    3     2           excMsg  Ljava/lang/String;
            7   26     2      relTypeName  Ljava/lang/String;
            8   13     3          relType  Ljavax/management/relation/RelationType;
           10   13     4           excMsg  Ljava/lang/String;
           11   13     5       excMsgStrB  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           7    13      13  Class javax.management.relation.RelationTypeNotFoundException
          15    17      18  any
          18    19      18  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.InvalidRelationTypeException
    MethodParameters:
                 Name  Flags
      relationTypeObj  

  javax.management.relation.RelationType getRelationType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljavax/management/relation/RelationType;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
         0: .line 2593
            aload 1 /* relationTypeName */
            ifnonnull 3
         1: .line 2594
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2595
            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 2598
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2599
            ldc "getRelationType"
            aload 1 /* relationTypeName */
         5: .line 2598
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 2603
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         7: .line 2604
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            aload 1 /* relationTypeName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.management.relation.RelationType
            astore 2 /* relType */
        start local 2 // javax.management.relation.RelationType relType
         8: .line 2603
            aload 3
            monitorexit
         9: goto 12
        end local 2 // javax.management.relation.RelationType relType
      StackMap locals: javax.management.relation.RelationService java.lang.String top java.util.Map
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        start local 2 // javax.management.relation.RelationType relType
        12: .line 2607
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.RelationType
      StackMap stack:
            aload 2 /* relType */
            ifnonnull 17
        13: .line 2608
            ldc "No relation type created in the Relation Service with the name "
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
        14: .line 2609
            new java.lang.StringBuilder
            dup
            aload 3 /* excMsg */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* excMsgStrB */
        start local 4 // java.lang.StringBuilder excMsgStrB
        15: .line 2610
            aload 4 /* excMsgStrB */
            aload 1 /* relationTypeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 2611
            new javax.management.relation.RelationTypeNotFoundException
            dup
            aload 4 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.RelationTypeNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.StringBuilder excMsgStrB
        end local 3 // java.lang.String excMsg
        17: .line 2614
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        18: .line 2615
            ldc "getRelationType"
        19: .line 2614
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 2616
            aload 2 /* relType */
            areturn
        end local 2 // javax.management.relation.RelationType relType
        end local 1 // java.lang.String relationTypeName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Ljavax/management/relation/RelationService;
            0   21     1  relationTypeName  Ljava/lang/String;
            2    3     2            excMsg  Ljava/lang/String;
            8   10     2           relType  Ljavax/management/relation/RelationType;
           12   21     2           relType  Ljavax/management/relation/RelationType;
           14   17     3            excMsg  Ljava/lang/String;
           15   17     4        excMsgStrB  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           7     9      10  any
          10    11      10  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationTypeNotFoundException
    MethodParameters:
                  Name  Flags
      relationTypeName  

  java.lang.Object getRelation(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 2637
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 2638
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2639
            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 2642
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2643
            ldc "getRelation"
            aload 1 /* relationId */
         5: .line 2642
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 2647
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         7: .line 2648
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            aload 1 /* relationId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* rel */
        start local 2 // java.lang.Object rel
         8: .line 2647
            aload 3
            monitorexit
         9: goto 12
        end local 2 // java.lang.Object rel
      StackMap locals: javax.management.relation.RelationService java.lang.String top java.util.Map
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        start local 2 // java.lang.Object rel
        12: .line 2651
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object
      StackMap stack:
            aload 2 /* rel */
            ifnonnull 15
        13: .line 2652
            new java.lang.StringBuilder
            dup
            ldc "No relation associated to relation id "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* relationId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
        14: .line 2653
            new javax.management.relation.RelationNotFoundException
            dup
            aload 3 /* excMsg */
            invokespecial javax.management.relation.RelationNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String excMsg
        15: .line 2656
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        16: .line 2657
            ldc "getRelation"
        17: .line 2656
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 2658
            aload 2 /* rel */
            areturn
        end local 2 // java.lang.Object rel
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljavax/management/relation/RelationService;
            0   19     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            8   10     2         rel  Ljava/lang/Object;
           12   19     2         rel  Ljava/lang/Object;
           14   15     3      excMsg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           7     9      10  any
          10    11      10  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    MethodParameters:
            Name  Flags
      relationId  

  private boolean addNewMBeanReference(javax.management.ObjectName, java.lang.String, java.lang.String);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.ObjectName objectName
        start local 2 // java.lang.String relationId
        start local 3 // java.lang.String roleName
         0: .line 2680
            aload 1 /* objectName */
            ifnull 3
         1: .line 2681
            aload 2 /* relationId */
            ifnull 3
         2: .line 2682
            aload 3 /* roleName */
            ifnonnull 5
         3: .line 2683
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 2684
            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
         5: .line 2687
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 2688
            ldc "addNewMBeanReference"
         7: .line 2689
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* objectName */
            aastore
            dup
            iconst_1
            aload 2 /* relationId */
            aastore
            dup
            iconst_2
            aload 3 /* roleName */
            aastore
         8: .line 2687
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 2691
            iconst_0
            istore 4 /* isNewFlag */
        start local 4 // boolean isNewFlag
        10: .line 2693
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        11: .line 2698
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 1 /* objectName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        12: .line 2697
            astore 6 /* mbeanRefMap */
        start local 6 // java.util.Map mbeanRefMap
        13: .line 2700
            aload 6 /* mbeanRefMap */
            ifnonnull 21
        14: .line 2703
            iconst_1
            istore 4 /* isNewFlag */
        15: .line 2707
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* roleNames */
        start local 7 // java.util.List roleNames
        16: .line 2708
            aload 7 /* roleNames */
            aload 3 /* roleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 2711
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* mbeanRefMap */
        18: .line 2712
            aload 6 /* mbeanRefMap */
            aload 2 /* relationId */
            aload 7 /* roleNames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 2714
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 1 /* objectName */
            aload 6 /* mbeanRefMap */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.List roleNames
        20: .line 2716
            goto 28
        21: .line 2720
      StackMap locals: int java.util.Map java.util.Map
      StackMap stack:
            aload 6 /* mbeanRefMap */
            aload 2 /* relationId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* roleNames */
        start local 7 // java.util.List roleNames
        22: .line 2722
            aload 7 /* roleNames */
            ifnonnull 27
        23: .line 2727
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* roleNames */
        24: .line 2728
            aload 7 /* roleNames */
            aload 3 /* roleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 2731
            aload 6 /* mbeanRefMap */
            aload 2 /* relationId */
            aload 7 /* roleNames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 2733
            goto 28
        27: .line 2737
      StackMap locals: java.util.List
      StackMap stack:
            aload 7 /* roleNames */
            aload 3 /* roleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.List roleNames
        end local 6 // java.util.Map mbeanRefMap
        28: .line 2693
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        29: goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: aload 5
            monitorexit
        31: athrow
        32: .line 2742
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        33: .line 2743
            ldc "addNewMBeanReference"
        34: .line 2742
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        35: .line 2744
            iload 4 /* isNewFlag */
            ireturn
        end local 4 // boolean isNewFlag
        end local 3 // java.lang.String roleName
        end local 2 // java.lang.String relationId
        end local 1 // javax.management.ObjectName objectName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0         this  Ljavax/management/relation/RelationService;
            0   36     1   objectName  Ljavax/management/ObjectName;
            0   36     2   relationId  Ljava/lang/String;
            0   36     3     roleName  Ljava/lang/String;
            4    5     4       excMsg  Ljava/lang/String;
           10   36     4    isNewFlag  Z
           13   28     6  mbeanRefMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           16   20     7    roleNames  Ljava/util/List<Ljava/lang/String;>;
           22   28     7    roleNames  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          11    29      30  any
          30    31      30  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
            Name  Flags
      objectName  
      relationId  
      roleName    

  private boolean removeMBeanReference(javax.management.ObjectName, java.lang.String, java.lang.String, boolean);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=5
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.ObjectName objectName
        start local 2 // java.lang.String relationId
        start local 3 // java.lang.String roleName
        start local 4 // boolean allRolesFlag
         0: .line 2768
            aload 1 /* objectName */
            ifnull 3
         1: .line 2769
            aload 2 /* relationId */
            ifnull 3
         2: .line 2770
            aload 3 /* roleName */
            ifnonnull 5
         3: .line 2771
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
         4: .line 2772
            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 2775
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 2776
            ldc "removeMBeanReference"
         7: .line 2777
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* objectName */
            aastore
            dup
            iconst_1
            aload 2 /* relationId */
            aastore
            dup
            iconst_2
            aload 3 /* roleName */
            aastore
            dup
            iconst_3
            iload 4 /* allRolesFlag */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         8: .line 2775
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 2779
            iconst_0
            istore 5 /* noLongerRefFlag */
        start local 5 // boolean noLongerRefFlag
        10: .line 2781
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 6
            monitorenter
        11: .line 2789
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 1 /* objectName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        12: .line 2788
            astore 7 /* mbeanRefMap */
        start local 7 // java.util.Map mbeanRefMap
        13: .line 2791
            aload 7 /* mbeanRefMap */
            ifnonnull 19
        14: .line 2793
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        15: .line 2794
            ldc "removeMBeanReference"
        16: .line 2793
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 2795
            aload 6
            monitorexit
        18: iconst_1
            ireturn
        19: .line 2798
      StackMap locals: int java.util.Map java.util.Map
      StackMap stack:
            aconst_null
            astore 8 /* roleNames */
        start local 8 // java.util.List roleNames
        20: .line 2799
            iload 4 /* allRolesFlag */
            ifne 25
        21: .line 2802
            aload 7 /* mbeanRefMap */
            aload 2 /* relationId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 8 /* roleNames */
        22: .line 2805
            aload 8 /* roleNames */
            aload 3 /* roleName */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 9 /* obsRefIdx */
        start local 9 // int obsRefIdx
        23: .line 2806
            iload 9 /* obsRefIdx */
            iconst_m1
            if_icmpeq 25
        24: .line 2807
            aload 8 /* roleNames */
            iload 9 /* obsRefIdx */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        end local 9 // int obsRefIdx
        25: .line 2813
      StackMap locals: java.util.List
      StackMap stack:
            aload 8 /* roleNames */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 26
            iload 4 /* allRolesFlag */
            ifeq 27
        26: .line 2816
      StackMap locals:
      StackMap stack:
            aload 7 /* mbeanRefMap */
            aload 2 /* relationId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 2820
      StackMap locals:
      StackMap stack:
            aload 7 /* mbeanRefMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 30
        28: .line 2822
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            aload 1 /* objectName */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 2823
            iconst_1
            istore 5 /* noLongerRefFlag */
        end local 8 // java.util.List roleNames
        end local 7 // java.util.Map mbeanRefMap
        30: .line 2781
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        31: goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: aload 6
            monitorexit
        33: athrow
        34: .line 2827
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        35: .line 2828
            ldc "removeMBeanReference"
        36: .line 2827
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        37: .line 2829
            iload 5 /* noLongerRefFlag */
            ireturn
        end local 5 // boolean noLongerRefFlag
        end local 4 // boolean allRolesFlag
        end local 3 // java.lang.String roleName
        end local 2 // java.lang.String relationId
        end local 1 // javax.management.ObjectName objectName
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   38     0             this  Ljavax/management/relation/RelationService;
            0   38     1       objectName  Ljavax/management/ObjectName;
            0   38     2       relationId  Ljava/lang/String;
            0   38     3         roleName  Ljava/lang/String;
            0   38     4     allRolesFlag  Z
            4    5     5           excMsg  Ljava/lang/String;
           10   38     5  noLongerRefFlag  Z
           13   30     7      mbeanRefMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           20   30     8        roleNames  Ljava/util/List<Ljava/lang/String;>;
           23   25     9        obsRefIdx  I
      Exception table:
        from    to  target  type
          11    18      32  any
          19    31      32  any
          32    33      32  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
              Name  Flags
      objectName    
      relationId    
      roleName      
      allRolesFlag  

  private void updateUnregistrationListener(java.util.List<javax.management.ObjectName>, java.util.List<javax.management.ObjectName>);
    descriptor: (Ljava/util/List;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.util.List newRefList
        start local 2 // java.util.List obsoleteRefList
         0: .line 2846
            aload 1 /* newRefList */
            ifnull 3
            aload 2 /* obsoleteRefList */
            ifnull 3
         1: .line 2847
            aload 1 /* newRefList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
            aload 2 /* obsoleteRefList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
         2: .line 2849
            return
         3: .line 2853
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 2854
            ldc "updateUnregistrationListener"
         5: .line 2855
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* newRefList */
            aastore
            dup
            iconst_1
            aload 2 /* obsoleteRefList */
            aastore
         6: .line 2853
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         7: .line 2858
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         8: .line 2860
            aload 1 /* newRefList */
            ifnonnull 9
            aload 2 /* obsoleteRefList */
            ifnull 39
         9: .line 2862
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* newListenerFlag */
        start local 3 // boolean newListenerFlag
        10: .line 2863
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
            ifnonnull 13
        11: .line 2865
            aload 0 /* this */
            new javax.management.relation.MBeanServerNotificationFilter
            dup
            invokespecial javax.management.relation.MBeanServerNotificationFilter.<init>:()V
            putfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
        12: .line 2866
            iconst_1
            istore 3 /* newListenerFlag */
        13: .line 2869
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
            dup
            astore 4
            monitorenter
        14: .line 2872
            aload 1 /* newRefList */
            ifnull 19
        15: .line 2873
            aload 1 /* newRefList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 18
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter top java.util.Iterator
      StackMap stack:
        16: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 5 /* newObjName */
        start local 5 // javax.management.ObjectName newObjName
        17: .line 2874
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
            aload 5 /* newObjName */
            invokevirtual javax.management.relation.MBeanServerNotificationFilter.enableObjectName:(Ljavax/management/ObjectName;)V
        end local 5 // javax.management.ObjectName newObjName
        18: .line 2873
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 2877
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter
      StackMap stack:
            aload 2 /* obsoleteRefList */
            ifnull 24
        20: .line 2879
            aload 2 /* obsoleteRefList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter top java.util.Iterator
      StackMap stack:
        21: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 5 /* obsObjName */
        start local 5 // javax.management.ObjectName obsObjName
        22: .line 2880
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
            aload 5 /* obsObjName */
            invokevirtual javax.management.relation.MBeanServerNotificationFilter.disableObjectName:(Ljavax/management/ObjectName;)V
        end local 5 // javax.management.ObjectName obsObjName
        23: .line 2879
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 2884
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter
      StackMap stack:
            iload 3 /* newListenerFlag */
            ifeq 35
        25: .line 2886
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
        26: .line 2887
            getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
        27: .line 2888
            aload 0 /* this */
        28: .line 2889
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
        29: .line 2890
            aconst_null
        30: .line 2886
            invokeinterface javax.management.MBeanServer.addNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
        31: .line 2891
            goto 35
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        32: astore 5 /* exc */
        start local 5 // javax.management.InstanceNotFoundException exc
        33: .line 2893
            new javax.management.relation.RelationServiceNotRegisteredException
            dup
            aload 5 /* exc */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
        34: .line 2892
            invokespecial javax.management.relation.RelationServiceNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // javax.management.InstanceNotFoundException exc
        35: .line 2869
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        36: goto 39
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: aload 4
            monitorexit
        38: athrow
        end local 3 // boolean newListenerFlag
        39: .line 2939
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        40: .line 2940
            ldc "updateUnregistrationListener"
        41: .line 2939
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        42: .line 2941
            return
        end local 2 // java.util.List obsoleteRefList
        end local 1 // java.util.List newRefList
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   43     0             this  Ljavax/management/relation/RelationService;
            0   43     1       newRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   43     2  obsoleteRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
           10   39     3  newListenerFlag  Z
           17   18     5       newObjName  Ljavax/management/ObjectName;
           22   23     5       obsObjName  Ljavax/management/ObjectName;
           33   35     5              exc  Ljavax/management/InstanceNotFoundException;
      Exception table:
        from    to  target  type
          25    31      32  Class javax.management.InstanceNotFoundException
          14    36      37  any
          37    38      37  any
    Exceptions:
      throws javax.management.relation.RelationServiceNotRegisteredException
    Signature: (Ljava/util/List<Ljavax/management/ObjectName;>;Ljava/util/List<Ljavax/management/ObjectName;>;)V
    MethodParameters:
                 Name  Flags
      newRefList       
      obsoleteRefList  

  private void addRelationInt(boolean, javax.management.relation.RelationSupport, javax.management.ObjectName, java.lang.String, java.lang.String, javax.management.relation.RoleList);
    descriptor: (ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=17, args_size=7
        start local 0 // javax.management.relation.RelationService this
        start local 1 // boolean relationBaseFlag
        start local 2 // javax.management.relation.RelationSupport relationObj
        start local 3 // javax.management.ObjectName relationObjName
        start local 4 // java.lang.String relationId
        start local 5 // java.lang.String relationTypeName
        start local 6 // javax.management.relation.RoleList roleList
         0: .line 2994
            aload 4 /* relationId */
            ifnull 8
         1: .line 2995
            aload 5 /* relationTypeName */
            ifnull 8
         2: .line 2996
            iload 1 /* relationBaseFlag */
            ifeq 5
         3: .line 2997
            aload 2 /* relationObj */
            ifnull 8
         4: .line 2998
            aload 3 /* relationObjName */
            ifnonnull 8
         5: .line 2999
      StackMap locals:
      StackMap stack:
            iload 1 /* relationBaseFlag */
            ifne 10
         6: .line 3000
            aload 3 /* relationObjName */
            ifnull 8
         7: .line 3001
            aload 2 /* relationObj */
            ifnull 10
         8: .line 3002
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 7 /* excMsg */
        start local 7 // java.lang.String excMsg
         9: .line 3003
            new java.lang.IllegalArgumentException
            dup
            aload 7 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.String excMsg
        10: .line 3006
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        11: .line 3007
            ldc "addRelationInt"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* relationBaseFlag */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 2 /* relationObj */
            aastore
            dup
            iconst_2
        12: .line 3008
            aload 3 /* relationObjName */
            aastore
            dup
            iconst_3
            aload 4 /* relationId */
            aastore
            dup
            iconst_4
            aload 5 /* relationTypeName */
            aastore
            dup
            iconst_5
            aload 6 /* roleList */
            aastore
        13: .line 3006
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 3011
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
        15: .line 3016
            aload 0 /* this */
            aload 4 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 7 /* rel */
        start local 7 // java.lang.Object rel
        16: .line 3018
            aload 7 /* rel */
            ifnull 22
        17: .line 3020
            ldc "There is already a relation with id "
            astore 8 /* excMsg */
        start local 8 // java.lang.String excMsg
        18: .line 3021
            new java.lang.StringBuilder
            dup
            aload 8 /* excMsg */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 9 /* excMsgStrB */
        start local 9 // java.lang.StringBuilder excMsgStrB
        19: .line 3022
            aload 9 /* excMsgStrB */
            aload 4 /* relationId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 3023
            new javax.management.relation.InvalidRelationIdException
            dup
            aload 9 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial javax.management.relation.InvalidRelationIdException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.lang.StringBuilder excMsgStrB
        end local 8 // java.lang.String excMsg
        end local 7 // java.lang.Object rel
        21: .line 3025
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
            pop
        22: .line 3031
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            astore 7 /* relType */
        start local 7 // javax.management.relation.RelationType relType
        23: .line 3039
            new java.util.ArrayList
            dup
            aload 7 /* relType */
            invokeinterface javax.management.relation.RelationType.getRoleInfos:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 8 /* roleInfoList */
        start local 8 // java.util.List roleInfoList
        24: .line 3041
            aload 6 /* roleList */
            ifnull 45
        25: .line 3043
            aload 6 /* roleList */
            invokevirtual javax.management.relation.RoleList.asList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 44
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List top java.util.Iterator
      StackMap stack:
        26: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 9 /* currRole */
        start local 9 // javax.management.relation.Role currRole
        27: .line 3044
            aload 9 /* currRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 11 /* currRoleName */
        start local 11 // java.lang.String currRoleName
        28: .line 3045
            aload 9 /* currRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 12 /* currRoleValue */
        start local 12 // java.util.List currRoleValue
        29: .line 3051
            aload 7 /* relType */
            aload 11 /* currRoleName */
            invokeinterface javax.management.relation.RelationType.getRoleInfo:(Ljava/lang/String;)Ljavax/management/relation/RoleInfo;
            astore 13 /* roleInfo */
        start local 13 // javax.management.relation.RoleInfo roleInfo
        30: .line 3052
            goto 33
        end local 13 // javax.management.relation.RoleInfo roleInfo
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List javax.management.relation.Role java.util.Iterator java.lang.String java.util.List
      StackMap stack: javax.management.relation.RoleInfoNotFoundException
        31: astore 14 /* exc */
        start local 14 // javax.management.relation.RoleInfoNotFoundException exc
        32: .line 3053
            new javax.management.relation.RoleNotFoundException
            dup
            aload 14 /* exc */
            invokevirtual javax.management.relation.RoleInfoNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial javax.management.relation.RoleNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // javax.management.relation.RoleInfoNotFoundException exc
        start local 13 // javax.management.relation.RoleInfo roleInfo
        33: .line 3057
      StackMap locals: javax.management.relation.RoleInfo
      StackMap stack:
            aload 0 /* this */
            iconst_2
        34: .line 3058
            aload 11 /* currRoleName */
        35: .line 3059
            aload 12 /* currRoleValue */
        36: .line 3060
            aload 13 /* roleInfo */
        37: .line 3061
            iconst_0
        38: .line 3057
            invokevirtual javax.management.relation.RelationService.checkRoleInt:(ILjava/lang/String;Ljava/util/List;Ljavax/management/relation/RoleInfo;Z)Ljava/lang/Integer;
            astore 14 /* status */
        start local 14 // java.lang.Integer status
        39: .line 3062
            aload 14 /* status */
            invokevirtual java.lang.Integer.intValue:()I
            istore 15 /* pbType */
        start local 15 // int pbType
        40: .line 3063
            iload 15 /* pbType */
            ifeq 42
        41: .line 3066
            iload 15 /* pbType */
            aload 11 /* currRoleName */
            invokestatic javax.management.relation.RelationService.throwRoleProblemException:(ILjava/lang/String;)V
        42: .line 3071
      StackMap locals: java.lang.Integer int
      StackMap stack:
            aload 8 /* roleInfoList */
            aload 13 /* roleInfo */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 16 /* roleInfoIdx */
        start local 16 // int roleInfoIdx
        43: .line 3073
            aload 8 /* roleInfoList */
            iload 16 /* roleInfoIdx */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        end local 16 // int roleInfoIdx
        end local 15 // int pbType
        end local 14 // java.lang.Integer status
        end local 13 // javax.management.relation.RoleInfo roleInfo
        end local 12 // java.util.List currRoleValue
        end local 11 // java.lang.String currRoleName
        end local 9 // javax.management.relation.Role currRole
        44: .line 3043
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        45: .line 3079
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List
      StackMap stack:
            aload 0 /* this */
            iload 1 /* relationBaseFlag */
        46: .line 3080
            aload 2 /* relationObj */
        47: .line 3081
            aload 3 /* relationObjName */
        48: .line 3082
            aload 4 /* relationId */
        49: .line 3083
            aload 5 /* relationTypeName */
        50: .line 3084
            aload 8 /* roleInfoList */
        51: .line 3079
            invokevirtual javax.management.relation.RelationService.initializeMissingRoles:(ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        52: .line 3090
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        53: .line 3091
            iload 1 /* relationBaseFlag */
            ifeq 56
        54: .line 3093
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            aload 4 /* relationId */
            aload 2 /* relationObj */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        55: .line 3094
            goto 57
        56: .line 3095
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            aload 4 /* relationId */
            aload 3 /* relationObjName */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        57: .line 3090
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        58: goto 61
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: aload 9
            monitorexit
        60: athrow
        61: .line 3100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        62: .line 3101
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            aload 4 /* relationId */
        63: .line 3102
            aload 5 /* relationTypeName */
        64: .line 3101
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        65: .line 3100
            aload 9
            monitorexit
        66: goto 69
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        67: aload 9
            monitorexit
        68: athrow
        69: .line 3106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        70: .line 3108
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            aload 5 /* relationTypeName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
        71: .line 3107
            astore 10 /* relIdList */
        start local 10 // java.util.List relIdList
        72: .line 3109
            iconst_0
            istore 11 /* firstRelFlag */
        start local 11 // boolean firstRelFlag
        73: .line 3110
            aload 10 /* relIdList */
            ifnonnull 76
        74: .line 3111
            iconst_1
            istore 11 /* firstRelFlag */
        75: .line 3112
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* relIdList */
        76: .line 3114
      StackMap locals: java.util.Map java.util.List int
      StackMap stack:
            aload 10 /* relIdList */
            aload 4 /* relationId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        77: .line 3115
            iload 11 /* firstRelFlag */
            ifeq 79
        78: .line 3116
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            aload 5 /* relationTypeName */
            aload 10 /* relIdList */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 11 // boolean firstRelFlag
        end local 10 // java.util.List relIdList
        79: .line 3106
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        80: goto 83
      StackMap locals:
      StackMap stack: java.lang.Throwable
        81: aload 9
            monitorexit
        82: athrow
        83: .line 3124
      StackMap locals:
      StackMap stack:
            aload 6 /* roleList */
            invokevirtual javax.management.relation.RoleList.asList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 89
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List top java.util.Iterator
      StackMap stack:
        84: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.relation.Role
            astore 9 /* currRole */
        start local 9 // javax.management.relation.Role currRole
        85: .line 3127
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* dummyList */
        start local 11 // java.util.List dummyList
        86: .line 3131
            aload 0 /* this */
            aload 4 /* relationId */
            aload 9 /* currRole */
            aload 11 /* dummyList */
            invokevirtual javax.management.relation.RelationService.updateRoleMap:(Ljava/lang/String;Ljavax/management/relation/Role;Ljava/util/List;)V
        87: .line 3133
            goto 89
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List javax.management.relation.Role java.util.Iterator java.util.List
      StackMap stack: javax.management.relation.RelationNotFoundException
        88: pop
        end local 11 // java.util.List dummyList
        end local 9 // javax.management.relation.Role currRole
        89: .line 3124
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
        90: .line 3141
            aload 0 /* this */
            aload 4 /* relationId */
            invokevirtual javax.management.relation.RelationService.sendRelationCreationNotification:(Ljava/lang/String;)V
        91: .line 3143
            goto 93
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String javax.management.relation.RoleList javax.management.relation.RelationType java.util.List
      StackMap stack: javax.management.relation.RelationNotFoundException
        92: pop
        93: .line 3147
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        94: .line 3148
            ldc "addRelationInt"
        95: .line 3147
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        96: .line 3149
            return
        end local 8 // java.util.List roleInfoList
        end local 7 // javax.management.relation.RelationType relType
        end local 6 // javax.management.relation.RoleList roleList
        end local 5 // java.lang.String relationTypeName
        end local 4 // java.lang.String relationId
        end local 3 // javax.management.ObjectName relationObjName
        end local 2 // javax.management.relation.RelationSupport relationObj
        end local 1 // boolean relationBaseFlag
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   97     0              this  Ljavax/management/relation/RelationService;
            0   97     1  relationBaseFlag  Z
            0   97     2       relationObj  Ljavax/management/relation/RelationSupport;
            0   97     3   relationObjName  Ljavax/management/ObjectName;
            0   97     4        relationId  Ljava/lang/String;
            0   97     5  relationTypeName  Ljava/lang/String;
            0   97     6          roleList  Ljavax/management/relation/RoleList;
            9   10     7            excMsg  Ljava/lang/String;
           16   21     7               rel  Ljava/lang/Object;
           18   21     8            excMsg  Ljava/lang/String;
           19   21     9        excMsgStrB  Ljava/lang/StringBuilder;
           23   97     7           relType  Ljavax/management/relation/RelationType;
           24   97     8      roleInfoList  Ljava/util/List<Ljavax/management/relation/RoleInfo;>;
           27   44     9          currRole  Ljavax/management/relation/Role;
           28   44    11      currRoleName  Ljava/lang/String;
           29   44    12     currRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           30   31    13          roleInfo  Ljavax/management/relation/RoleInfo;
           33   44    13          roleInfo  Ljavax/management/relation/RoleInfo;
           32   33    14               exc  Ljavax/management/relation/RoleInfoNotFoundException;
           39   44    14            status  Ljava/lang/Integer;
           40   44    15            pbType  I
           43   44    16       roleInfoIdx  I
           72   79    10         relIdList  Ljava/util/List<Ljava/lang/String;>;
           73   79    11      firstRelFlag  Z
           85   89     9          currRole  Ljavax/management/relation/Role;
           86   89    11         dummyList  Ljava/util/List<Ljavax/management/ObjectName;>;
      Exception table:
        from    to  target  type
          15    21      21  Class javax.management.relation.RelationNotFoundException
          29    30      31  Class javax.management.relation.RoleInfoNotFoundException
          53    58      59  any
          59    60      59  any
          62    66      67  any
          67    68      67  any
          70    80      81  any
          81    82      81  any
          86    87      88  Class javax.management.relation.RelationNotFoundException
          90    91      92  Class javax.management.relation.RelationNotFoundException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRelationIdException, javax.management.relation.RelationTypeNotFoundException, javax.management.relation.InvalidRoleValueException
    MethodParameters:
                  Name  Flags
      relationBaseFlag  
      relationObj       
      relationObjName   
      relationId        
      relationTypeName  
      roleList          

  private java.lang.Integer checkRoleInt(int, java.lang.String, java.util.List<javax.management.ObjectName>, javax.management.relation.RoleInfo, boolean);
    descriptor: (ILjava/lang/String;Ljava/util/List;Ljavax/management/relation/RoleInfo;Z)Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=6
        start local 0 // javax.management.relation.RelationService this
        start local 1 // int chkType
        start local 2 // java.lang.String roleName
        start local 3 // java.util.List roleValue
        start local 4 // javax.management.relation.RoleInfo roleInfo
        start local 5 // boolean writeChkFlag
         0: .line 3181
            aload 2 /* roleName */
            ifnull 3
         1: .line 3182
            aload 4 /* roleInfo */
            ifnull 3
         2: .line 3183
            iload 1 /* chkType */
            iconst_2
            if_icmpne 5
            aload 3 /* roleValue */
            ifnonnull 5
         3: .line 3184
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 6 /* excMsg */
        start local 6 // java.lang.String excMsg
         4: .line 3185
            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 3188
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 3189
            ldc "checkRoleInt"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* chkType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* roleName */
            aastore
            dup
            iconst_2
         7: .line 3190
            aload 3 /* roleValue */
            aastore
            dup
            iconst_3
            aload 4 /* roleInfo */
            aastore
            dup
            iconst_4
            iload 5 /* writeChkFlag */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
         8: .line 3188
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 3193
            aload 4 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.getName:()Ljava/lang/String;
            astore 6 /* expName */
        start local 6 // java.lang.String expName
        10: .line 3194
            aload 2 /* roleName */
            aload 6 /* expName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
        11: .line 3195
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        12: .line 3196
            ldc "checkRoleInt"
        13: .line 3195
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 3197
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        15: .line 3201
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* chkType */
            iconst_1
            if_icmpne 26
        16: .line 3202
            aload 4 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.isReadable:()Z
            istore 7 /* isReadable */
        start local 7 // boolean isReadable
        17: .line 3203
            iload 7 /* isReadable */
            ifne 22
        18: .line 3204
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        19: .line 3205
            ldc "checkRoleInt"
        20: .line 3204
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 3206
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        22: .line 3209
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        23: .line 3210
            ldc "checkRoleInt"
        24: .line 3209
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        25: .line 3211
            new java.lang.Integer
            dup
            iconst_0
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        end local 7 // boolean isReadable
        26: .line 3216
      StackMap locals:
      StackMap stack:
            iload 5 /* writeChkFlag */
            ifeq 33
        27: .line 3217
            aload 4 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.isWritable:()Z
            istore 7 /* isWritable */
        start local 7 // boolean isWritable
        28: .line 3218
            iload 7 /* isWritable */
            ifne 33
        29: .line 3219
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        30: .line 3220
            ldc "checkRoleInt"
        31: .line 3219
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        32: .line 3221
            new java.lang.Integer
            dup
            iconst_3
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        end local 7 // boolean isWritable
        33: .line 3225
      StackMap locals:
      StackMap stack:
            aload 3 /* roleValue */
            invokeinterface java.util.List.size:()I
            istore 7 /* refNbr */
        start local 7 // int refNbr
        34: .line 3228
            aload 4 /* roleInfo */
            iload 7 /* refNbr */
            invokevirtual javax.management.relation.RoleInfo.checkMinDegree:(I)Z
            istore 8 /* chkMinFlag */
        start local 8 // boolean chkMinFlag
        35: .line 3229
            iload 8 /* chkMinFlag */
            ifne 40
        36: .line 3230
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        37: .line 3231
            ldc "checkRoleInt"
        38: .line 3230
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        39: .line 3232
            new java.lang.Integer
            dup
            iconst_4
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        40: .line 3236
      StackMap locals: int int
      StackMap stack:
            aload 4 /* roleInfo */
            iload 7 /* refNbr */
            invokevirtual javax.management.relation.RoleInfo.checkMaxDegree:(I)Z
            istore 9 /* chkMaxFlag */
        start local 9 // boolean chkMaxFlag
        41: .line 3237
            iload 9 /* chkMaxFlag */
            ifne 46
        42: .line 3238
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        43: .line 3239
            ldc "checkRoleInt"
        44: .line 3238
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        45: .line 3240
            new java.lang.Integer
            dup
            iconst_5
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        46: .line 3249
      StackMap locals: int
      StackMap stack:
            aload 4 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.getRefMBeanClassName:()Ljava/lang/String;
            astore 10 /* expClassName */
        start local 10 // java.lang.String expClassName
        47: .line 3251
            aload 3 /* roleValue */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 68
      StackMap locals: javax.management.relation.RelationService int java.lang.String java.util.List javax.management.relation.RoleInfo int java.lang.String int int int java.lang.String top java.util.Iterator
      StackMap stack:
        48: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 11 /* currObjName */
        start local 11 // javax.management.ObjectName currObjName
        49: .line 3254
            aload 11 /* currObjName */
            ifnonnull 54
        50: .line 3255
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        51: .line 3256
            ldc "checkRoleInt"
        52: .line 3255
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        53: .line 3257
            new java.lang.Integer
            dup
            bipush 7
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        54: .line 3263
      StackMap locals: javax.management.relation.RelationService int java.lang.String java.util.List javax.management.relation.RoleInfo int java.lang.String int int int java.lang.String javax.management.ObjectName java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 11 /* currObjName */
        55: .line 3264
            aload 10 /* expClassName */
        56: .line 3263
            invokeinterface javax.management.MBeanServer.isInstanceOf:(Ljavax/management/ObjectName;Ljava/lang/String;)Z
            istore 13 /* classSts */
        start local 13 // boolean classSts
        57: .line 3265
            iload 13 /* classSts */
            ifne 68
        58: .line 3266
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        59: .line 3267
            ldc "checkRoleInt"
        60: .line 3266
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        61: .line 3268
            new java.lang.Integer
            dup
            bipush 6
            invokespecial java.lang.Integer.<init>:(I)V
        62: areturn
        end local 13 // boolean classSts
        63: .line 3271
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
            pop
        64: .line 3272
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        65: .line 3273
            ldc "checkRoleInt"
        66: .line 3272
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        67: .line 3274
            new java.lang.Integer
            dup
            bipush 7
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        end local 11 // javax.management.ObjectName currObjName
        68: .line 3251
      StackMap locals: javax.management.relation.RelationService int java.lang.String java.util.List javax.management.relation.RoleInfo int java.lang.String int int int java.lang.String top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 48
        69: .line 3278
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        70: .line 3279
            ldc "checkRoleInt"
        71: .line 3278
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        72: .line 3280
            new java.lang.Integer
            dup
            iconst_0
            invokespecial java.lang.Integer.<init>:(I)V
            areturn
        end local 10 // java.lang.String expClassName
        end local 9 // boolean chkMaxFlag
        end local 8 // boolean chkMinFlag
        end local 7 // int refNbr
        end local 6 // java.lang.String expName
        end local 5 // boolean writeChkFlag
        end local 4 // javax.management.relation.RoleInfo roleInfo
        end local 3 // java.util.List roleValue
        end local 2 // java.lang.String roleName
        end local 1 // int chkType
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   73     0          this  Ljavax/management/relation/RelationService;
            0   73     1       chkType  I
            0   73     2      roleName  Ljava/lang/String;
            0   73     3     roleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   73     4      roleInfo  Ljavax/management/relation/RoleInfo;
            0   73     5  writeChkFlag  Z
            4    5     6        excMsg  Ljava/lang/String;
           10   73     6       expName  Ljava/lang/String;
           17   26     7    isReadable  Z
           28   33     7    isWritable  Z
           34   73     7        refNbr  I
           35   73     8    chkMinFlag  Z
           41   73     9    chkMaxFlag  Z
           47   73    10  expClassName  Ljava/lang/String;
           49   68    11   currObjName  Ljavax/management/ObjectName;
           57   63    13      classSts  Z
      Exception table:
        from    to  target  type
          54    62      63  Class javax.management.InstanceNotFoundException
    Exceptions:
      throws java.lang.IllegalArgumentException
    Signature: (ILjava/lang/String;Ljava/util/List<Ljavax/management/ObjectName;>;Ljavax/management/relation/RoleInfo;Z)Ljava/lang/Integer;
    MethodParameters:
              Name  Flags
      chkType       
      roleName      
      roleValue     
      roleInfo      
      writeChkFlag  

  private void initializeMissingRoles(boolean, javax.management.relation.RelationSupport, javax.management.ObjectName, java.lang.String, java.lang.String, java.util.List<javax.management.relation.RoleInfo>);
    descriptor: (ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=16, args_size=7
        start local 0 // javax.management.relation.RelationService this
        start local 1 // boolean relationBaseFlag
        start local 2 // javax.management.relation.RelationSupport relationObj
        start local 3 // javax.management.ObjectName relationObjName
        start local 4 // java.lang.String relationId
        start local 5 // java.lang.String relationTypeName
        start local 6 // java.util.List roleInfoList
         0: .line 3318
            iload 1 /* relationBaseFlag */
            ifeq 3
         1: .line 3319
            aload 2 /* relationObj */
            ifnull 9
         2: .line 3320
            aload 3 /* relationObjName */
            ifnonnull 9
         3: .line 3321
      StackMap locals:
      StackMap stack:
            iload 1 /* relationBaseFlag */
            ifne 6
         4: .line 3322
            aload 3 /* relationObjName */
            ifnull 9
         5: .line 3323
            aload 2 /* relationObj */
            ifnonnull 9
         6: .line 3324
      StackMap locals:
      StackMap stack:
            aload 4 /* relationId */
            ifnull 9
         7: .line 3325
            aload 5 /* relationTypeName */
            ifnull 9
         8: .line 3326
            aload 6 /* roleInfoList */
            ifnonnull 11
         9: .line 3327
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 7 /* excMsg */
        start local 7 // java.lang.String excMsg
        10: .line 3328
            new java.lang.IllegalArgumentException
            dup
            aload 7 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.String excMsg
        11: .line 3331
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        12: .line 3332
            ldc "initializeMissingRoles"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* relationBaseFlag */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
        13: .line 3333
            aload 2 /* relationObj */
            aastore
            dup
            iconst_2
            aload 3 /* relationObjName */
            aastore
            dup
            iconst_3
            aload 4 /* relationId */
            aastore
            dup
            iconst_4
            aload 5 /* relationTypeName */
            aastore
            dup
            iconst_5
        14: .line 3334
            aload 6 /* roleInfoList */
            aastore
        15: .line 3331
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 3337
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
        17: .line 3344
            aload 6 /* roleInfoList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 52
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        18: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.relation.RoleInfo
            astore 7 /* currRoleInfo */
        start local 7 // javax.management.relation.RoleInfo currRoleInfo
        19: .line 3346
            aload 7 /* currRoleInfo */
            invokevirtual javax.management.relation.RoleInfo.getName:()Ljava/lang/String;
            astore 9 /* roleName */
        start local 9 // java.lang.String roleName
        20: .line 3349
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* emptyValue */
        start local 10 // java.util.List emptyValue
        21: .line 3351
            new javax.management.relation.Role
            dup
            aload 9 /* roleName */
            aload 10 /* emptyValue */
            invokespecial javax.management.relation.Role.<init>:(Ljava/lang/String;Ljava/util/List;)V
            astore 11 /* role */
        start local 11 // javax.management.relation.Role role
        22: .line 3353
            iload 1 /* relationBaseFlag */
            ifeq 31
        23: .line 3362
            aload 2 /* relationObj */
            aload 11 /* role */
            iconst_1
            aload 0 /* this */
            iconst_0
            invokevirtual javax.management.relation.RelationSupport.setRoleInt:(Ljavax/management/relation/Role;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
            pop
        24: .line 3364
            goto 52
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String java.util.List javax.management.relation.RoleInfo java.util.Iterator java.lang.String java.util.List javax.management.relation.Role
      StackMap stack: javax.management.relation.RoleNotFoundException
        25: astore 12 /* exc1 */
        start local 12 // javax.management.relation.RoleNotFoundException exc1
        26: .line 3365
            new java.lang.RuntimeException
            dup
            aload 12 /* exc1 */
            invokevirtual javax.management.relation.RoleNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // javax.management.relation.RoleNotFoundException exc1
        27: .line 3366
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
            astore 12 /* exc2 */
        start local 12 // javax.management.relation.RelationNotFoundException exc2
        28: .line 3367
            new java.lang.RuntimeException
            dup
            aload 12 /* exc2 */
            invokevirtual javax.management.relation.RelationNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // javax.management.relation.RelationNotFoundException exc2
        29: .line 3368
      StackMap locals:
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
            astore 12 /* exc3 */
        start local 12 // javax.management.relation.RelationTypeNotFoundException exc3
        30: .line 3369
            new java.lang.RuntimeException
            dup
            aload 12 /* exc3 */
            invokevirtual javax.management.relation.RelationTypeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // javax.management.relation.RelationTypeNotFoundException exc3
        31: .line 3376
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 12 /* params */
        start local 12 // java.lang.Object[] params
        32: .line 3377
            aload 12 /* params */
            iconst_0
            aload 11 /* role */
            aastore
        33: .line 3378
            iconst_1
            anewarray java.lang.String
            astore 13 /* signature */
        start local 13 // java.lang.String[] signature
        34: .line 3379
            aload 13 /* signature */
            iconst_0
            ldc "javax.management.relation.Role"
            aastore
        35: .line 3391
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relationObjName */
        36: .line 3392
            new javax.management.Attribute
            dup
            ldc "Role"
            aload 11 /* role */
            invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
        37: .line 3391
            invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
        38: .line 3394
            goto 52
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String java.util.List javax.management.relation.RoleInfo java.util.Iterator java.lang.String java.util.List javax.management.relation.Role java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.InstanceNotFoundException
        39: astore 14 /* exc1 */
        start local 14 // javax.management.InstanceNotFoundException exc1
        40: .line 3395
            new java.lang.RuntimeException
            dup
            aload 14 /* exc1 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // javax.management.InstanceNotFoundException exc1
        41: .line 3396
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 14 /* exc3 */
        start local 14 // javax.management.ReflectionException exc3
        42: .line 3397
            new java.lang.RuntimeException
            dup
            aload 14 /* exc3 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // javax.management.ReflectionException exc3
        43: .line 3398
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 14 /* exc2 */
        start local 14 // javax.management.MBeanException exc2
        44: .line 3399
            aload 14 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 15 /* wrappedExc */
        start local 15 // java.lang.Exception wrappedExc
        45: .line 3400
            aload 15 /* wrappedExc */
            instanceof javax.management.relation.InvalidRoleValueException
            ifeq 47
        46: .line 3401
            aload 15 /* wrappedExc */
            checkcast javax.management.relation.InvalidRoleValueException
            athrow
        47: .line 3403
      StackMap locals: javax.management.MBeanException java.lang.Exception
      StackMap stack:
            new java.lang.RuntimeException
            dup
            aload 15 /* wrappedExc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // java.lang.Exception wrappedExc
        end local 14 // javax.management.MBeanException exc2
        48: .line 3405
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String java.util.List javax.management.relation.RoleInfo java.util.Iterator java.lang.String java.util.List javax.management.relation.Role java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.AttributeNotFoundException
            astore 14 /* exc4 */
        start local 14 // javax.management.AttributeNotFoundException exc4
        49: .line 3406
            new java.lang.RuntimeException
            dup
            aload 14 /* exc4 */
            invokevirtual javax.management.AttributeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // javax.management.AttributeNotFoundException exc4
        50: .line 3407
      StackMap locals:
      StackMap stack: javax.management.InvalidAttributeValueException
            astore 14 /* exc5 */
        start local 14 // javax.management.InvalidAttributeValueException exc5
        51: .line 3408
            new java.lang.RuntimeException
            dup
            aload 14 /* exc5 */
            invokevirtual javax.management.InvalidAttributeValueException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // javax.management.InvalidAttributeValueException exc5
        end local 13 // java.lang.String[] signature
        end local 12 // java.lang.Object[] params
        end local 11 // javax.management.relation.Role role
        end local 10 // java.util.List emptyValue
        end local 9 // java.lang.String roleName
        end local 7 // javax.management.relation.RoleInfo currRoleInfo
        52: .line 3344
      StackMap locals: javax.management.relation.RelationService int javax.management.relation.RelationSupport javax.management.ObjectName java.lang.String java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        53: .line 3413
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        54: .line 3414
            ldc "initializeMissingRoles"
        55: .line 3413
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        56: .line 3415
            return
        end local 6 // java.util.List roleInfoList
        end local 5 // java.lang.String relationTypeName
        end local 4 // java.lang.String relationId
        end local 3 // javax.management.ObjectName relationObjName
        end local 2 // javax.management.relation.RelationSupport relationObj
        end local 1 // boolean relationBaseFlag
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   57     0              this  Ljavax/management/relation/RelationService;
            0   57     1  relationBaseFlag  Z
            0   57     2       relationObj  Ljavax/management/relation/RelationSupport;
            0   57     3   relationObjName  Ljavax/management/ObjectName;
            0   57     4        relationId  Ljava/lang/String;
            0   57     5  relationTypeName  Ljava/lang/String;
            0   57     6      roleInfoList  Ljava/util/List<Ljavax/management/relation/RoleInfo;>;
           10   11     7            excMsg  Ljava/lang/String;
           19   52     7      currRoleInfo  Ljavax/management/relation/RoleInfo;
           20   52     9          roleName  Ljava/lang/String;
           21   52    10        emptyValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           22   52    11              role  Ljavax/management/relation/Role;
           26   27    12              exc1  Ljavax/management/relation/RoleNotFoundException;
           28   29    12              exc2  Ljavax/management/relation/RelationNotFoundException;
           30   31    12              exc3  Ljavax/management/relation/RelationTypeNotFoundException;
           32   52    12            params  [Ljava/lang/Object;
           34   52    13         signature  [Ljava/lang/String;
           40   41    14              exc1  Ljavax/management/InstanceNotFoundException;
           42   43    14              exc3  Ljavax/management/ReflectionException;
           44   48    14              exc2  Ljavax/management/MBeanException;
           45   48    15        wrappedExc  Ljava/lang/Exception;
           49   50    14              exc4  Ljavax/management/AttributeNotFoundException;
           51   52    14              exc5  Ljavax/management/InvalidAttributeValueException;
      Exception table:
        from    to  target  type
          23    24      25  Class javax.management.relation.RoleNotFoundException
          23    24      27  Class javax.management.relation.RelationNotFoundException
          23    24      29  Class javax.management.relation.RelationTypeNotFoundException
          35    38      39  Class javax.management.InstanceNotFoundException
          35    38      41  Class javax.management.ReflectionException
          35    38      43  Class javax.management.MBeanException
          35    38      48  Class javax.management.AttributeNotFoundException
          35    38      50  Class javax.management.InvalidAttributeValueException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.InvalidRoleValueException
    Signature: (ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Ljavax/management/relation/RoleInfo;>;)V
    MethodParameters:
                  Name  Flags
      relationBaseFlag  
      relationObj       
      relationObjName   
      relationId        
      relationTypeName  
      roleInfoList      

  static void throwRoleProblemException(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // int pbType
        start local 1 // java.lang.String roleName
         0: .line 3439
            aload 1 /* roleName */
            ifnonnull 3
         1: .line 3440
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 3441
            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 3446
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* excType */
        start local 2 // int excType
         4: .line 3448
            aconst_null
            astore 3 /* excMsgPart */
        start local 3 // java.lang.String excMsgPart
         5: .line 3450
            iload 0 /* pbType */
            tableswitch { // 1 - 7
                    1: 6
                    2: 9
                    3: 12
                    4: 15
                    5: 18
                    6: 21
                    7: 24
              default: 26
          }
         6: .line 3452
      StackMap locals: int java.lang.String
      StackMap stack:
            ldc " does not exist in relation."
            astore 3 /* excMsgPart */
         7: .line 3453
            iconst_1
            istore 2 /* excType */
         8: .line 3454
            goto 26
         9: .line 3456
      StackMap locals:
      StackMap stack:
            ldc " is not readable."
            astore 3 /* excMsgPart */
        10: .line 3457
            iconst_1
            istore 2 /* excType */
        11: .line 3458
            goto 26
        12: .line 3460
      StackMap locals:
      StackMap stack:
            ldc " is not writable."
            astore 3 /* excMsgPart */
        13: .line 3461
            iconst_1
            istore 2 /* excType */
        14: .line 3462
            goto 26
        15: .line 3464
      StackMap locals:
      StackMap stack:
            ldc " has a number of MBean references less than the expected minimum degree."
            astore 3 /* excMsgPart */
        16: .line 3465
            iconst_2
            istore 2 /* excType */
        17: .line 3466
            goto 26
        18: .line 3468
      StackMap locals:
      StackMap stack:
            ldc " has a number of MBean references greater than the expected maximum degree."
            astore 3 /* excMsgPart */
        19: .line 3469
            iconst_2
            istore 2 /* excType */
        20: .line 3470
            goto 26
        21: .line 3472
      StackMap locals:
      StackMap stack:
            ldc " has an MBean reference to an MBean not of the expected class of references for that role."
            astore 3 /* excMsgPart */
        22: .line 3473
            iconst_2
            istore 2 /* excType */
        23: .line 3474
            goto 26
        24: .line 3476
      StackMap locals:
      StackMap stack:
            ldc " has a reference to null or to an MBean not registered."
            astore 3 /* excMsgPart */
        25: .line 3477
            iconst_2
            istore 2 /* excType */
        26: .line 3482
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* roleName */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* excMsgStrB */
        start local 4 // java.lang.StringBuilder excMsgStrB
        27: .line 3483
            aload 4 /* excMsgStrB */
            aload 3 /* excMsgPart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 3484
            aload 4 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
        29: .line 3485
            iload 2 /* excType */
            iconst_1
            if_icmpne 31
        30: .line 3486
            new javax.management.relation.RoleNotFoundException
            dup
            aload 5 /* excMsg */
            invokespecial javax.management.relation.RoleNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 3488
      StackMap locals: java.lang.StringBuilder java.lang.String
      StackMap stack:
            iload 2 /* excType */
            iconst_2
            if_icmpne 33
        32: .line 3489
            new javax.management.relation.InvalidRoleValueException
            dup
            aload 5 /* excMsg */
            invokespecial javax.management.relation.InvalidRoleValueException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 3491
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String excMsg
        end local 4 // java.lang.StringBuilder excMsgStrB
        end local 3 // java.lang.String excMsgPart
        end local 2 // int excType
        end local 1 // java.lang.String roleName
        end local 0 // int pbType
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   34     0      pbType  I
            0   34     1    roleName  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            4   34     2     excType  I
            5   34     3  excMsgPart  Ljava/lang/String;
           27   34     4  excMsgStrB  Ljava/lang/StringBuilder;
           29   34     5      excMsg  Ljava/lang/String;
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RoleNotFoundException, javax.management.relation.InvalidRoleValueException
    MethodParameters:
          Name  Flags
      pbType    
      roleName  

  private void sendNotificationInt(int, java.lang.String, java.lang.String, java.util.List<javax.management.ObjectName>, java.lang.String, java.util.List<javax.management.ObjectName>, java.util.List<javax.management.ObjectName>);
    descriptor: (ILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=15, locals=16, args_size=8
        start local 0 // javax.management.relation.RelationService this
        start local 1 // int intNtfType
        start local 2 // java.lang.String message
        start local 3 // java.lang.String relationId
        start local 4 // java.util.List unregMBeanList
        start local 5 // java.lang.String roleName
        start local 6 // java.util.List roleNewValue
        start local 7 // java.util.List oldValue
         0: .line 3520
            aload 2 /* message */
            ifnull 7
         1: .line 3521
            aload 3 /* relationId */
            ifnull 7
         2: .line 3522
            iload 1 /* intNtfType */
            iconst_3
            if_icmpeq 3
            aload 4 /* unregMBeanList */
            ifnonnull 7
         3: .line 3523
      StackMap locals:
      StackMap stack:
            iload 1 /* intNtfType */
            iconst_2
            if_icmpne 9
         4: .line 3524
            aload 5 /* roleName */
            ifnull 7
         5: .line 3525
            aload 6 /* roleNewValue */
            ifnull 7
         6: .line 3526
            aload 7 /* oldValue */
            ifnonnull 9
         7: .line 3527
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 8 /* excMsg */
        start local 8 // java.lang.String excMsg
         8: .line 3528
            new java.lang.IllegalArgumentException
            dup
            aload 8 /* excMsg */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // java.lang.String excMsg
         9: .line 3531
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        10: .line 3532
            ldc "sendNotificationInt"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
            iload 1 /* intNtfType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* message */
            aastore
            dup
            iconst_2
        11: .line 3533
            aload 3 /* relationId */
            aastore
            dup
            iconst_3
            aload 4 /* unregMBeanList */
            aastore
            dup
            iconst_4
            aload 5 /* roleName */
            aastore
            dup
            iconst_5
            aload 6 /* roleNewValue */
            aastore
            dup
            bipush 6
            aload 7 /* oldValue */
            aastore
        12: .line 3531
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 3539
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        14: .line 3540
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            aload 3 /* relationId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* relTypeName */
        start local 8 // java.lang.String relTypeName
        15: .line 3539
            aload 9
            monitorexit
        16: goto 19
        end local 8 // java.lang.String relTypeName
      StackMap locals: javax.management.relation.RelationService int java.lang.String java.lang.String java.util.List java.lang.String java.util.List java.util.List top java.util.Map
      StackMap stack: java.lang.Throwable
        17: aload 9
            monitorexit
        18: athrow
        start local 8 // java.lang.String relTypeName
        19: .line 3545
      StackMap locals: javax.management.relation.RelationService int java.lang.String java.lang.String java.util.List java.lang.String java.util.List java.util.List java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 3 /* relationId */
            invokevirtual javax.management.relation.RelationService.isRelationMBean:(Ljava/lang/String;)Ljavax/management/ObjectName;
            astore 9 /* relObjName */
        start local 9 // javax.management.ObjectName relObjName
        20: .line 3547
            aconst_null
            astore 10 /* ntfType */
        start local 10 // java.lang.String ntfType
        21: .line 3548
            aload 9 /* relObjName */
            ifnull 29
        22: .line 3549
            iload 1 /* intNtfType */
            tableswitch { // 1 - 3
                    1: 23
                    2: 25
                    3: 27
              default: 28
          }
        23: .line 3551
      StackMap locals: javax.management.ObjectName java.lang.String
      StackMap stack:
            ldc "jmx.relation.creation.mbean"
            astore 10 /* ntfType */
        24: .line 3552
            goto 35
        25: .line 3554
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.update.mbean"
            astore 10 /* ntfType */
        26: .line 3555
            goto 35
        27: .line 3557
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.removal.mbean"
            astore 10 /* ntfType */
        28: .line 3560
      StackMap locals:
      StackMap stack:
            goto 35
        29: .line 3561
      StackMap locals:
      StackMap stack:
            iload 1 /* intNtfType */
            tableswitch { // 1 - 3
                    1: 30
                    2: 32
                    3: 34
              default: 35
          }
        30: .line 3563
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.creation.basic"
            astore 10 /* ntfType */
        31: .line 3564
            goto 35
        32: .line 3566
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.update.basic"
            astore 10 /* ntfType */
        33: .line 3567
            goto 35
        34: .line 3569
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.removal.basic"
            astore 10 /* ntfType */
        35: .line 3575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.atomicSeqNo:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 11 /* seqNo */
        start local 11 // java.lang.Long seqNo
        36: .line 3578
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 12 /* currDate */
        start local 12 // java.util.Date currDate
        37: .line 3579
            aload 12 /* currDate */
            invokevirtual java.util.Date.getTime:()J
            lstore 13 /* timeStamp */
        start local 13 // long timeStamp
        38: .line 3581
            aconst_null
            astore 15 /* ntf */
        start local 15 // javax.management.relation.RelationNotification ntf
        39: .line 3583
            aload 10 /* ntfType */
            ldc "jmx.relation.creation.basic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 43
        40: .line 3584
            aload 10 /* ntfType */
            ldc "jmx.relation.creation.mbean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 43
        41: .line 3585
            aload 10 /* ntfType */
            ldc "jmx.relation.removal.basic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 43
        42: .line 3586
            aload 10 /* ntfType */
            ldc "jmx.relation.removal.mbean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        43: .line 3589
      StackMap locals: javax.management.relation.RelationService int java.lang.String java.lang.String java.util.List java.lang.String java.util.List java.util.List java.lang.String javax.management.ObjectName java.lang.String java.lang.Long java.util.Date long javax.management.relation.RelationNotification
      StackMap stack:
            new javax.management.relation.RelationNotification
            dup
            aload 10 /* ntfType */
        44: .line 3590
            aload 0 /* this */
        45: .line 3591
            aload 11 /* seqNo */
            invokevirtual java.lang.Long.longValue:()J
        46: .line 3592
            lload 13 /* timeStamp */
        47: .line 3593
            aload 2 /* message */
        48: .line 3594
            aload 3 /* relationId */
        49: .line 3595
            aload 8 /* relTypeName */
        50: .line 3596
            aload 9 /* relObjName */
        51: .line 3597
            aload 4 /* unregMBeanList */
        52: .line 3589
            invokespecial javax.management.relation.RelationNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljavax/management/ObjectName;Ljava/util/List;)V
            astore 15 /* ntf */
        53: .line 3597
            goto 68
        54: .line 3599
      StackMap locals:
      StackMap stack:
            aload 10 /* ntfType */
            ldc "jmx.relation.update.basic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 56
        55: .line 3601
            aload 10 /* ntfType */
            ldc "jmx.relation.update.mbean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 68
        56: .line 3604
      StackMap locals:
      StackMap stack:
            new javax.management.relation.RelationNotification
            dup
            aload 10 /* ntfType */
        57: .line 3605
            aload 0 /* this */
        58: .line 3606
            aload 11 /* seqNo */
            invokevirtual java.lang.Long.longValue:()J
        59: .line 3607
            lload 13 /* timeStamp */
        60: .line 3608
            aload 2 /* message */
        61: .line 3609
            aload 3 /* relationId */
        62: .line 3610
            aload 8 /* relTypeName */
        63: .line 3611
            aload 9 /* relObjName */
        64: .line 3612
            aload 5 /* roleName */
        65: .line 3613
            aload 6 /* roleNewValue */
        66: .line 3614
            aload 7 /* oldValue */
        67: .line 3604
            invokespecial javax.management.relation.RelationNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
            astore 15 /* ntf */
        68: .line 3617
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* ntf */
            invokevirtual javax.management.relation.RelationService.sendNotification:(Ljavax/management/Notification;)V
        69: .line 3619
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        70: .line 3620
            ldc "sendNotificationInt"
        71: .line 3619
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        72: .line 3621
            return
        end local 15 // javax.management.relation.RelationNotification ntf
        end local 13 // long timeStamp
        end local 12 // java.util.Date currDate
        end local 11 // java.lang.Long seqNo
        end local 10 // java.lang.String ntfType
        end local 9 // javax.management.ObjectName relObjName
        end local 8 // java.lang.String relTypeName
        end local 7 // java.util.List oldValue
        end local 6 // java.util.List roleNewValue
        end local 5 // java.lang.String roleName
        end local 4 // java.util.List unregMBeanList
        end local 3 // java.lang.String relationId
        end local 2 // java.lang.String message
        end local 1 // int intNtfType
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   73     0            this  Ljavax/management/relation/RelationService;
            0   73     1      intNtfType  I
            0   73     2         message  Ljava/lang/String;
            0   73     3      relationId  Ljava/lang/String;
            0   73     4  unregMBeanList  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   73     5        roleName  Ljava/lang/String;
            0   73     6    roleNewValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   73     7        oldValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            8    9     8          excMsg  Ljava/lang/String;
           15   17     8     relTypeName  Ljava/lang/String;
           19   73     8     relTypeName  Ljava/lang/String;
           20   73     9      relObjName  Ljavax/management/ObjectName;
           21   73    10         ntfType  Ljava/lang/String;
           36   73    11           seqNo  Ljava/lang/Long;
           37   73    12        currDate  Ljava/util/Date;
           38   73    13       timeStamp  J
           39   73    15             ntf  Ljavax/management/relation/RelationNotification;
      Exception table:
        from    to  target  type
          14    16      17  any
          17    18      17  any
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationNotFoundException
    Signature: (ILjava/lang/String;Ljava/lang/String;Ljava/util/List<Ljavax/management/ObjectName;>;Ljava/lang/String;Ljava/util/List<Ljavax/management/ObjectName;>;Ljava/util/List<Ljavax/management/ObjectName;>;)V
    MethodParameters:
                Name  Flags
      intNtfType      
      message         
      relationId      
      unregMBeanList  
      roleName        
      roleNewValue    
      oldValue        

  private void handleReferenceUnregistration(java.lang.String, javax.management.ObjectName, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljavax/management/ObjectName;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
        start local 2 // javax.management.ObjectName objectName
        start local 3 // java.util.List roleNameList
         0: .line 3650
            aload 1 /* relationId */
            ifnull 3
         1: .line 3651
            aload 3 /* roleNameList */
            ifnull 3
         2: .line 3652
            aload 2 /* objectName */
            ifnonnull 5
         3: .line 3653
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 3654
            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
         5: .line 3657
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 3658
            ldc "handleReferenceUnregistration"
         7: .line 3659
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* objectName */
            aastore
            dup
            iconst_2
            aload 3 /* roleNameList */
            aastore
         8: .line 3657
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
         9: .line 3662
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
        10: .line 3666
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelationTypeName:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* currRelTypeName */
        start local 4 // java.lang.String currRelTypeName
        11: .line 3670
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            astore 5 /* relObj */
        start local 5 // java.lang.Object relObj
        12: .line 3673
            iconst_0
            istore 6 /* deleteRelFlag */
        start local 6 // boolean deleteRelFlag
        13: .line 3675
            aload 3 /* roleNameList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 31
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int top java.util.Iterator
      StackMap stack:
        14: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* currRoleName */
        start local 7 // java.lang.String currRoleName
        15: .line 3677
            iload 6 /* deleteRelFlag */
            ifeq 17
        16: .line 3678
            goto 32
        17: .line 3687
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int java.lang.String java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 1 /* relationId */
            aload 7 /* currRoleName */
            invokevirtual javax.management.relation.RelationService.getRoleCardinality:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
        18: .line 3686
            istore 9 /* currRoleRefNbr */
        start local 9 // int currRoleRefNbr
        19: .line 3690
            iload 9 /* currRoleRefNbr */
            iconst_1
            isub
            istore 10 /* currRoleNewRefNbr */
        start local 10 // int currRoleNewRefNbr
        20: .line 3698
            aload 0 /* this */
            aload 4 /* currRelTypeName */
        21: .line 3699
            aload 7 /* currRoleName */
        22: .line 3698
            invokevirtual javax.management.relation.RelationService.getRoleInfo:(Ljava/lang/String;Ljava/lang/String;)Ljavax/management/relation/RoleInfo;
            astore 11 /* currRoleInfo */
        start local 11 // javax.management.relation.RoleInfo currRoleInfo
        23: .line 3700
            goto 28
        end local 11 // javax.management.relation.RoleInfo currRoleInfo
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int java.lang.String java.util.Iterator int int
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
        24: astore 12 /* exc1 */
        start local 12 // javax.management.relation.RelationTypeNotFoundException exc1
        25: .line 3701
            new java.lang.RuntimeException
            dup
            aload 12 /* exc1 */
            invokevirtual javax.management.relation.RelationTypeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // javax.management.relation.RelationTypeNotFoundException exc1
        26: .line 3702
      StackMap locals:
      StackMap stack: javax.management.relation.RoleInfoNotFoundException
            astore 12 /* exc2 */
        start local 12 // javax.management.relation.RoleInfoNotFoundException exc2
        27: .line 3703
            new java.lang.RuntimeException
            dup
            aload 12 /* exc2 */
            invokevirtual javax.management.relation.RoleInfoNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // javax.management.relation.RoleInfoNotFoundException exc2
        start local 11 // javax.management.relation.RoleInfo currRoleInfo
        28: .line 3707
      StackMap locals: javax.management.relation.RoleInfo
      StackMap stack:
            aload 11 /* currRoleInfo */
            iload 10 /* currRoleNewRefNbr */
            invokevirtual javax.management.relation.RoleInfo.checkMinDegree:(I)Z
            istore 12 /* chkMinFlag */
        start local 12 // boolean chkMinFlag
        29: .line 3709
            iload 12 /* chkMinFlag */
            ifne 31
        30: .line 3711
            iconst_1
            istore 6 /* deleteRelFlag */
        end local 12 // boolean chkMinFlag
        end local 11 // javax.management.relation.RoleInfo currRoleInfo
        end local 10 // int currRoleNewRefNbr
        end local 9 // int currRoleRefNbr
        end local 7 // java.lang.String currRoleName
        31: .line 3675
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        32: .line 3715
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int
      StackMap stack:
            iload 6 /* deleteRelFlag */
            ifeq 35
        33: .line 3717
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.removeRelation:(Ljava/lang/String;)V
        34: .line 3719
            goto 69
        35: .line 3732
      StackMap locals:
      StackMap stack:
            aload 3 /* roleNameList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 68
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int top java.util.Iterator
      StackMap stack:
        36: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* currRoleName */
        start local 7 // java.lang.String currRoleName
        37: .line 3734
            aload 5 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 49
        38: .line 3744
            aload 5 /* relObj */
            checkcast javax.management.relation.RelationSupport
        39: .line 3745
            aload 2 /* objectName */
        40: .line 3746
            aload 7 /* currRoleName */
        41: .line 3747
            iconst_1
        42: .line 3748
            aload 0 /* this */
        43: .line 3744
            invokevirtual javax.management.relation.RelationSupport.handleMBeanUnregistrationInt:(Ljavax/management/ObjectName;Ljava/lang/String;ZLjavax/management/relation/RelationService;)V
        44: .line 3749
            goto 68
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int java.lang.String java.util.Iterator
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
        45: astore 9 /* exc3 */
        start local 9 // javax.management.relation.RelationTypeNotFoundException exc3
        46: .line 3750
            new java.lang.RuntimeException
            dup
            aload 9 /* exc3 */
            invokevirtual javax.management.relation.RelationTypeNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // javax.management.relation.RelationTypeNotFoundException exc3
        47: .line 3751
      StackMap locals:
      StackMap stack: javax.management.relation.InvalidRoleValueException
            astore 9 /* exc4 */
        start local 9 // javax.management.relation.InvalidRoleValueException exc4
        48: .line 3752
            new java.lang.RuntimeException
            dup
            aload 9 /* exc4 */
            invokevirtual javax.management.relation.InvalidRoleValueException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // javax.management.relation.InvalidRoleValueException exc4
        49: .line 3757
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.Object
            astore 9 /* params */
        start local 9 // java.lang.Object[] params
        50: .line 3758
            aload 9 /* params */
            iconst_0
            aload 2 /* objectName */
            aastore
        51: .line 3759
            aload 9 /* params */
            iconst_1
            aload 7 /* currRoleName */
            aastore
        52: .line 3760
            iconst_2
            anewarray java.lang.String
            astore 10 /* signature */
        start local 10 // java.lang.String[] signature
        53: .line 3761
            aload 10 /* signature */
            iconst_0
            ldc "javax.management.ObjectName"
            aastore
        54: .line 3762
            aload 10 /* signature */
            iconst_1
            ldc "java.lang.String"
            aastore
        55: .line 3768
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 5 /* relObj */
            checkcast javax.management.ObjectName
        56: .line 3769
            ldc "handleMBeanUnregistration"
        57: .line 3770
            aload 9 /* params */
        58: .line 3771
            aload 10 /* signature */
        59: .line 3768
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        60: .line 3772
            goto 68
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int java.lang.String java.util.Iterator java.lang.Object[] java.lang.String[]
      StackMap stack: javax.management.InstanceNotFoundException
        61: astore 11 /* exc1 */
        start local 11 // javax.management.InstanceNotFoundException exc1
        62: .line 3773
            new java.lang.RuntimeException
            dup
            aload 11 /* exc1 */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // javax.management.InstanceNotFoundException exc1
        63: .line 3774
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 11 /* exc3 */
        start local 11 // javax.management.ReflectionException exc3
        64: .line 3775
            new java.lang.RuntimeException
            dup
            aload 11 /* exc3 */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // javax.management.ReflectionException exc3
        65: .line 3776
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 11 /* exc2 */
        start local 11 // javax.management.MBeanException exc2
        66: .line 3777
            aload 11 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 12 /* wrappedExc */
        start local 12 // java.lang.Exception wrappedExc
        67: .line 3778
            new java.lang.RuntimeException
            dup
            aload 12 /* wrappedExc */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Exception wrappedExc
        end local 11 // javax.management.MBeanException exc2
        end local 10 // java.lang.String[] signature
        end local 9 // java.lang.Object[] params
        end local 7 // java.lang.String currRoleName
        68: .line 3732
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        69: .line 3785
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.ObjectName java.util.List java.lang.String java.lang.Object int
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/util/logging/Logger;
            ldc Ljavax/management/relation/RelationService;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        70: .line 3786
            ldc "handleReferenceUnregistration"
        71: .line 3785
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;)V
        72: .line 3787
            return
        end local 6 // boolean deleteRelFlag
        end local 5 // java.lang.Object relObj
        end local 4 // java.lang.String currRelTypeName
        end local 3 // java.util.List roleNameList
        end local 2 // javax.management.ObjectName objectName
        end local 1 // java.lang.String relationId
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   73     0               this  Ljavax/management/relation/RelationService;
            0   73     1         relationId  Ljava/lang/String;
            0   73     2         objectName  Ljavax/management/ObjectName;
            0   73     3       roleNameList  Ljava/util/List<Ljava/lang/String;>;
            4    5     4             excMsg  Ljava/lang/String;
           11   73     4    currRelTypeName  Ljava/lang/String;
           12   73     5             relObj  Ljava/lang/Object;
           13   73     6      deleteRelFlag  Z
           15   31     7       currRoleName  Ljava/lang/String;
           19   31     9     currRoleRefNbr  I
           20   31    10  currRoleNewRefNbr  I
           23   24    11       currRoleInfo  Ljavax/management/relation/RoleInfo;
           28   31    11       currRoleInfo  Ljavax/management/relation/RoleInfo;
           25   26    12               exc1  Ljavax/management/relation/RelationTypeNotFoundException;
           27   28    12               exc2  Ljavax/management/relation/RoleInfoNotFoundException;
           29   31    12         chkMinFlag  Z
           37   68     7       currRoleName  Ljava/lang/String;
           46   47     9               exc3  Ljavax/management/relation/RelationTypeNotFoundException;
           48   49     9               exc4  Ljavax/management/relation/InvalidRoleValueException;
           50   68     9             params  [Ljava/lang/Object;
           53   68    10          signature  [Ljava/lang/String;
           62   63    11               exc1  Ljavax/management/InstanceNotFoundException;
           64   65    11               exc3  Ljavax/management/ReflectionException;
           66   68    11               exc2  Ljavax/management/MBeanException;
           67   68    12         wrappedExc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          20    23      24  Class javax.management.relation.RelationTypeNotFoundException
          20    23      26  Class javax.management.relation.RoleInfoNotFoundException
          38    44      45  Class javax.management.relation.RelationTypeNotFoundException
          38    44      47  Class javax.management.relation.InvalidRoleValueException
          55    60      61  Class javax.management.InstanceNotFoundException
          55    60      63  Class javax.management.ReflectionException
          55    60      65  Class javax.management.MBeanException
    Exceptions:
      throws java.lang.IllegalArgumentException, javax.management.relation.RelationServiceNotRegisteredException, javax.management.relation.RelationNotFoundException, javax.management.relation.RoleNotFoundException
    Signature: (Ljava/lang/String;Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
              Name  Flags
      relationId    
      objectName    
      roleNameList  
}
SourceFile: "RelationService.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map