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/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        19: .line 162
            aload 0 /* this */
            iload 1 /* immediatePurgeFlag */
            invokevirtual javax.management.relation.RelationService.setPurgeFlag:(Z)V
        20: .line 164
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        21: .line 165
            return
        end local 1 // boolean immediatePurgeFlag
        end local 0 // javax.management.relation.RelationService this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0                this  Ljavax/management/relation/RelationService;
            0   22     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 178
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            ifnonnull 4
         1: .line 182
            ldc "Relation Service not registered in the MBean Server."
         2: .line 181
            astore 1 /* excMsg */
        start local 1 // java.lang.String excMsg
         3: .line 183
            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 185
      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 199
            aload 0 /* this */
            aload 1 /* server */
            putfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
         1: .line 200
            aload 0 /* this */
            aload 2 /* name */
            putfield javax.management.relation.RelationService.myObjName:Ljavax/management/ObjectName;
         2: .line 201
            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 206
            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 212
            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 217
            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 237
            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 254
            aload 0 /* this */
            iload 1 /* purgeFlag */
            putfield javax.management.relation.RelationService.myPurgeFlag:Z
         1: .line 255
            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=7, 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 282
            aload 1 /* relationTypeName */
            ifnull 1
            aload 2 /* roleInfoArray */
            ifnonnull 3
         1: .line 283
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 284
            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 287
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 291
            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
         5: .line 290
            astore 3 /* relType */
        start local 3 // javax.management.relation.RelationType relType
         6: .line 293
            aload 0 /* this */
            aload 3 /* relType */
            invokevirtual javax.management.relation.RelationService.addRelationTypeInt:(Ljavax/management/relation/RelationType;)V
         7: .line 295
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         8: .line 296
            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    9     0              this  Ljavax/management/relation/RelationService;
            0    9     1  relationTypeName  Ljava/lang/String;
            0    9     2     roleInfoArray  [Ljavax/management/relation/RoleInfo;
            2    3     3            excMsg  Ljava/lang/String;
            6    9     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 319
            aload 1 /* relationTypeObj */
            ifnonnull 3
         1: .line 320
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 321
            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 324
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         4: .line 327
            aload 1 /* relationTypeObj */
            invokeinterface javax.management.relation.RelationType.getRoleInfos:()Ljava/util/List;
            astore 2 /* roleInfoList */
        start local 2 // java.util.List roleInfoList
         5: .line 328
            aload 2 /* roleInfoList */
            ifnonnull 8
         6: .line 329
            ldc "No role info provided."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         7: .line 330
            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
         8: .line 333
      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
         9: .line 334
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: .line 335
            aload 2 /* roleInfoList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: javax.management.relation.RelationService javax.management.relation.RelationType java.util.List javax.management.relation.RoleInfo[] int top java.util.Iterator
      StackMap stack:
        11: 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
        12: .line 336
            aload 3 /* roleInfoArray */
            iload 4 /* i */
            aload 5 /* currRoleInfo */
            aastore
        13: .line 337
            iinc 4 /* i */ 1
        end local 5 // javax.management.relation.RoleInfo currRoleInfo
        14: .line 335
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        15: .line 340
            aload 3 /* roleInfoArray */
            invokestatic javax.management.relation.RelationTypeSupport.checkRoleInfos:([Ljavax/management/relation/RoleInfo;)V
        16: .line 342
            aload 0 /* this */
            aload 1 /* relationTypeObj */
            invokevirtual javax.management.relation.RelationService.addRelationTypeInt:(Ljavax/management/relation/RelationType;)V
        17: .line 344
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        18: .line 345
            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   19     0             this  Ljavax/management/relation/RelationService;
            0   19     1  relationTypeObj  Ljavax/management/relation/RelationType;
            2    3     2           excMsg  Ljava/lang/String;
            5   19     2     roleInfoList  Ljava/util/List<Ljavax/management/relation/RoleInfo;>;
            7    8     3           excMsg  Ljava/lang/String;
            9   19     3    roleInfoArray  [Ljavax/management/relation/RoleInfo;
           10   19     4                i  I
           12   14     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 355
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 356
            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 355
            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 358
      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=7, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
         0: .line 377
            aload 1 /* relationTypeName */
            ifnonnull 3
         1: .line 378
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 379
            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 382
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 385
            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
         5: .line 387
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         6: .line 388
            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    7     0              this  Ljavax/management/relation/RelationService;
            0    7     1  relationTypeName  Ljava/lang/String;
            2    3     2            excMsg  Ljava/lang/String;
            5    7     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 411
            aload 1 /* relationTypeName */
            ifnull 1
            aload 2 /* roleInfoName */
            ifnonnull 3
         1: .line 412
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 413
            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 416
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 417
            aload 1 /* relationTypeName */
            aastore
            dup
            iconst_1
            aload 2 /* roleInfoName */
            aastore
         5: .line 416
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 420
            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 423
            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 425
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         9: .line 426
            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   10     0              this  Ljavax/management/relation/RelationService;
            0   10     1  relationTypeName  Ljava/lang/String;
            0   10     2      roleInfoName  Ljava/lang/String;
            2    3     3            excMsg  Ljava/lang/String;
            7   10     3           relType  Ljavax/management/relation/RelationType;
            8   10     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=7, locals=6, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
         0: .line 448
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         1: .line 450
            aload 1 /* relationTypeName */
            ifnonnull 4
         2: .line 451
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         3: .line 452
            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 455
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 459
            aload 0 /* this */
            aload 1 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            pop
         6: .line 462
            aconst_null
            astore 2 /* relIdList */
        start local 2 // java.util.List relIdList
         7: .line 463
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         8: .line 467
            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
         9: .line 466
            astore 4 /* relIdList1 */
        start local 4 // java.util.List relIdList1
        10: .line 468
            aload 4 /* relIdList1 */
            ifnull 12
        11: .line 469
            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
        12: .line 463
      StackMap locals: java.util.List java.util.Map
      StackMap stack:
            aload 3
            monitorexit
        13: goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: aload 3
            monitorexit
        15: athrow
        16: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
        17: .line 475
            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
        18: .line 474
            aload 3
            monitorexit
        19: goto 22
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        20: aload 3
            monitorexit
        21: athrow
        22: .line 477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
        23: .line 478
            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
        24: .line 477
            aload 3
            monitorexit
        25: goto 28
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.util.Map
      StackMap stack: java.lang.Throwable
        26: aload 3
            monitorexit
        27: athrow
        28: .line 482
      StackMap locals:
      StackMap stack:
            aload 2 /* relIdList */
            ifnull 36
        29: .line 483
            aload 2 /* relIdList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 35
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        30: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* currRelId */
        start local 3 // java.lang.String currRelId
        31: .line 490
            aload 0 /* this */
            aload 3 /* currRelId */
            invokevirtual javax.management.relation.RelationService.removeRelation:(Ljava/lang/String;)V
        32: .line 491
            goto 35
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.lang.String java.util.Iterator
      StackMap stack: javax.management.relation.RelationNotFoundException
        33: astore 5 /* exc1 */
        start local 5 // javax.management.relation.RelationNotFoundException exc1
        34: .line 492
            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
        35: .line 483
      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 30
        36: .line 497
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        37: .line 498
            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   38     0              this  Ljavax/management/relation/RelationService;
            0   38     1  relationTypeName  Ljava/lang/String;
            3    4     2            excMsg  Ljava/lang/String;
            7   38     2         relIdList  Ljava/util/List<Ljava/lang/String;>;
           10   12     4        relIdList1  Ljava/util/List<Ljava/lang/String;>;
           31   35     3         currRelId  Ljava/lang/String;
           34   35     5              exc1  Ljavax/management/relation/RelationNotFoundException;
      Exception table:
        from    to  target  type
           8    13      14  any
          14    15      14  any
          17    19      20  any
          20    21      20  any
          23    25      26  any
          26    27      26  any
          31    32      33  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 550
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         1: .line 552
            aload 1 /* relationId */
            ifnull 3
         2: .line 553
            aload 2 /* relationTypeName */
            ifnonnull 5
         3: .line 554
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 555
            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 558
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 559
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* roleList */
            aastore
         7: .line 558
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 563
            new javax.management.relation.RelationSupport
            dup
            aload 1 /* relationId */
         9: .line 564
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myObjName:Ljavax/management/ObjectName;
        10: .line 565
            aload 2 /* relationTypeName */
        11: .line 566
            aload 3 /* roleList */
        12: .line 563
            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
        13: .line 573
            aload 0 /* this */
            iconst_1
        14: .line 574
            aload 4 /* relObj */
        15: .line 575
            aconst_null
        16: .line 576
            aload 1 /* relationId */
        17: .line 577
            aload 2 /* relationTypeName */
        18: .line 578
            aload 3 /* roleList */
        19: .line 573
            invokevirtual javax.management.relation.RelationService.addRelationInt:(ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
        20: .line 579
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        21: .line 580
            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   22     0              this  Ljavax/management/relation/RelationService;
            0   22     1        relationId  Ljava/lang/String;
            0   22     2  relationTypeName  Ljava/lang/String;
            0   22     3          roleList  Ljavax/management/relation/RoleList;
            4    5     4            excMsg  Ljava/lang/String;
           13   22     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 639
            aload 1 /* relationObjectName */
            ifnonnull 3
         1: .line 640
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 641
            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 644
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationObjectName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 647
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         5: .line 652
            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 8
         6: .line 653
            ldc "This MBean does not implement the Relation interface."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         7: .line 654
            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
         8: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
         9: .line 664
            ldc "RelationId"
        10: .line 663
            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
        11: .line 666
            goto 20
        end local 2 // java.lang.String relId
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        12: astore 3 /* exc1 */
        start local 3 // javax.management.MBeanException exc1
        13: .line 667
            new java.lang.RuntimeException
            dup
        14: .line 668
            aload 3 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        15: .line 667
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // javax.management.MBeanException exc1
        16: .line 669
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 3 /* exc2 */
        start local 3 // javax.management.ReflectionException exc2
        17: .line 670
            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
        18: .line 671
      StackMap locals:
      StackMap stack: javax.management.AttributeNotFoundException
            astore 3 /* exc3 */
        start local 3 // javax.management.AttributeNotFoundException exc3
        19: .line 672
            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
        20: .line 675
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* relId */
            ifnonnull 23
        21: .line 676
            ldc "This MBean does not provide a relation id."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
        22: .line 677
            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
        23: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        24: .line 688
            ldc "RelationServiceName"
        25: .line 687
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        26: .line 686
            checkcast javax.management.ObjectName
            astore 3 /* relServObjName */
        start local 3 // javax.management.ObjectName relServObjName
        27: .line 690
            goto 36
        end local 3 // javax.management.ObjectName relServObjName
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        28: astore 4 /* exc1 */
        start local 4 // javax.management.MBeanException exc1
        29: .line 691
            new java.lang.RuntimeException
            dup
        30: .line 692
            aload 4 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        31: .line 691
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // javax.management.MBeanException exc1
        32: .line 693
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 4 /* exc2 */
        start local 4 // javax.management.ReflectionException exc2
        33: .line 694
            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
        34: .line 695
      StackMap locals:
      StackMap stack: javax.management.AttributeNotFoundException
            astore 4 /* exc3 */
        start local 4 // javax.management.AttributeNotFoundException exc3
        35: .line 696
            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
        36: .line 699
      StackMap locals: javax.management.ObjectName
      StackMap stack:
            iconst_0
            istore 4 /* badRelServFlag */
        start local 4 // boolean badRelServFlag
        37: .line 700
            aload 3 /* relServObjName */
            ifnonnull 40
        38: .line 701
            iconst_1
            istore 4 /* badRelServFlag */
        39: .line 703
            goto 42
      StackMap locals: int
      StackMap stack:
        40: 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 42
        41: .line 704
            iconst_1
            istore 4 /* badRelServFlag */
        42: .line 706
      StackMap locals:
      StackMap stack:
            iload 4 /* badRelServFlag */
            ifeq 45
        43: .line 707
            ldc "The Relation Service referenced in the MBean is not the current one."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
        44: .line 708
            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
        45: .line 716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        46: .line 717
            ldc "RelationTypeName"
        47: .line 716
            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
        48: .line 719
            goto 57
        end local 5 // java.lang.String relTypeName
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        49: astore 6 /* exc1 */
        start local 6 // javax.management.MBeanException exc1
        50: .line 720
            new java.lang.RuntimeException
            dup
        51: .line 721
            aload 6 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        52: .line 720
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // javax.management.MBeanException exc1
        53: .line 722
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 6 /* exc2 */
        start local 6 // javax.management.ReflectionException exc2
        54: .line 723
            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
        55: .line 724
      StackMap locals:
      StackMap stack: javax.management.AttributeNotFoundException
            astore 6 /* exc3 */
        start local 6 // javax.management.AttributeNotFoundException exc3
        56: .line 725
            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
        57: .line 727
      StackMap locals: java.lang.String
      StackMap stack:
            aload 5 /* relTypeName */
            ifnonnull 60
        58: .line 728
            ldc "No relation type provided."
            astore 6 /* excMsg */
        start local 6 // java.lang.String excMsg
        59: .line 729
            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
        60: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        61: .line 738
            ldc "retrieveAllRoles"
        62: .line 739
            aconst_null
        63: .line 740
            aconst_null
        64: .line 737
            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
        65: .line 741
            goto 72
        end local 6 // javax.management.relation.RoleList roleList
      StackMap locals:
      StackMap stack: javax.management.MBeanException
        66: astore 7 /* exc1 */
        start local 7 // javax.management.MBeanException exc1
        67: .line 742
            new java.lang.RuntimeException
            dup
        68: .line 743
            aload 7 /* exc1 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        69: .line 742
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // javax.management.MBeanException exc1
        70: .line 744
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        71: .line 745
            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
        72: .line 750
      StackMap locals: javax.management.relation.RoleList
      StackMap stack:
            aload 0 /* this */
            iconst_0
        73: .line 751
            aconst_null
        74: .line 752
            aload 1 /* relationObjectName */
        75: .line 753
            aload 2 /* relId */
        76: .line 754
            aload 5 /* relTypeName */
        77: .line 755
            aload 6 /* roleList */
        78: .line 750
            invokevirtual javax.management.relation.RelationService.addRelationInt:(ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljavax/management/relation/RoleList;)V
        79: .line 757
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 7
            monitorenter
        80: .line 758
            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
        81: .line 757
            aload 7
            monitorexit
        82: goto 85
      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
        83: aload 7
            monitorexit
        84: athrow
        85: .line 766
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 1 /* relationObjectName */
        86: .line 767
            new javax.management.Attribute
            dup
        87: .line 768
            ldc "RelationServiceManagementFlag"
        88: .line 769
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
        89: .line 767
            invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
        90: .line 766
            invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
        91: .line 770
            goto 93
      StackMap locals:
      StackMap stack: java.lang.Exception
        92: pop
        93: .line 776
      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
        94: .line 777
            aload 7 /* newRefList */
            aload 1 /* relationObjectName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        95: .line 778
            aload 0 /* this */
            aload 7 /* newRefList */
            aconst_null
            invokevirtual javax.management.relation.RelationService.updateUnregistrationListener:(Ljava/util/List;Ljava/util/List;)V
        96: .line 780
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        97: .line 781
            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   98     0                this  Ljavax/management/relation/RelationService;
            0   98     1  relationObjectName  Ljavax/management/ObjectName;
            2    3     2              excMsg  Ljava/lang/String;
            7    8     2              excMsg  Ljava/lang/String;
           11   12     2               relId  Ljava/lang/String;
           20   98     2               relId  Ljava/lang/String;
           13   16     3                exc1  Ljavax/management/MBeanException;
           17   18     3                exc2  Ljavax/management/ReflectionException;
           19   20     3                exc3  Ljavax/management/AttributeNotFoundException;
           22   23     3              excMsg  Ljava/lang/String;
           27   28     3      relServObjName  Ljavax/management/ObjectName;
           36   98     3      relServObjName  Ljavax/management/ObjectName;
           29   32     4                exc1  Ljavax/management/MBeanException;
           33   34     4                exc2  Ljavax/management/ReflectionException;
           35   36     4                exc3  Ljavax/management/AttributeNotFoundException;
           37   98     4      badRelServFlag  Z
           44   45     5              excMsg  Ljava/lang/String;
           48   49     5         relTypeName  Ljava/lang/String;
           57   98     5         relTypeName  Ljava/lang/String;
           50   53     6                exc1  Ljavax/management/MBeanException;
           54   55     6                exc2  Ljavax/management/ReflectionException;
           56   57     6                exc3  Ljavax/management/AttributeNotFoundException;
           59   60     6              excMsg  Ljava/lang/String;
           65   66     6            roleList  Ljavax/management/relation/RoleList;
           72   98     6            roleList  Ljavax/management/relation/RoleList;
           67   70     7                exc1  Ljavax/management/MBeanException;
           71   72     7                exc2  Ljavax/management/ReflectionException;
           94   98     7          newRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
      Exception table:
        from    to  target  type
           8    11      12  Class javax.management.MBeanException
           8    11      16  Class javax.management.ReflectionException
           8    11      18  Class javax.management.AttributeNotFoundException
          23    27      28  Class javax.management.MBeanException
          23    27      32  Class javax.management.ReflectionException
          23    27      34  Class javax.management.AttributeNotFoundException
          45    48      49  Class javax.management.MBeanException
          45    48      53  Class javax.management.ReflectionException
          45    48      55  Class javax.management.AttributeNotFoundException
          60    65      66  Class javax.management.MBeanException
          60    65      70  Class javax.management.ReflectionException
          80    82      83  any
          83    84      83  any
          85    91      92  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=7, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 802
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 803
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 804
            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 807
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 810
            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
         5: .line 811
            aload 2 /* result */
            instanceof javax.management.ObjectName
            ifeq 7
         6: .line 812
            aload 2 /* result */
            checkcast javax.management.ObjectName
            areturn
         7: .line 814
      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    8     0        this  Ljavax/management/relation/RelationService;
            0    8     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            5    8     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=7, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // javax.management.ObjectName objectName
         0: .line 832
            aload 1 /* objectName */
            ifnonnull 3
         1: .line 833
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 834
            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 837
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* objectName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 839
            aconst_null
            astore 2 /* result */
        start local 2 // java.lang.String result
         5: .line 840
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         6: .line 841
            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
         7: .line 842
            aload 4 /* relId */
            ifnull 9
         8: .line 843
            aload 4 /* relId */
            astore 2 /* result */
        end local 4 // java.lang.String relId
         9: .line 840
      StackMap locals: java.lang.String java.util.Map
      StackMap stack:
            aload 3
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 3
            monitorexit
        12: athrow
        13: .line 846
      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   14     0        this  Ljavax/management/relation/RelationService;
            0   14     1  objectName  Ljavax/management/ObjectName;
            2    3     2      excMsg  Ljava/lang/String;
            5   14     2      result  Ljava/lang/String;
            7    9     4       relId  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6    10      11  any
          11    12      11  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=7, locals=3, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 862
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 863
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 864
            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 867
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 871
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            pop
         5: .line 872
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         6: areturn
         7: .line 873
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
            pop
         8: .line 874
            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    9     0        this  Ljavax/management/relation/RelationService;
            0    9     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     6       7  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 886
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 887
            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 886
            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 889
      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 913
            aload 1 /* roleName */
            ifnull 1
            aload 2 /* relationTypeName */
            ifnonnull 3
         1: .line 914
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 915
            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 918
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 919
            aload 1 /* roleName */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
         5: .line 918
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 924
            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 929
            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 931
            aload 0 /* this */
            iconst_1
         9: .line 932
            aload 1 /* roleName */
        10: .line 933
            aconst_null
        11: .line 934
            aload 5 /* roleInfo */
        12: .line 935
            iconst_0
        13: .line 931
            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 937
            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 938
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 3 /* result */
        start local 3 // java.lang.Integer result
        17: .line 941
      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/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        18: .line 942
            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   19     0              this  Ljavax/management/relation/RelationService;
            0   19     1          roleName  Ljava/lang/String;
            0   19     2  relationTypeName  Ljava/lang/String;
            2    3     3            excMsg  Ljava/lang/String;
           14   15     3            result  Ljava/lang/Integer;
           17   19     3            result  Ljava/lang/Integer;
            7   19     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 972
            aload 1 /* role */
            ifnull 3
         1: .line 973
            aload 2 /* relationTypeName */
            ifnull 3
         2: .line 974
            aload 3 /* initFlag */
            ifnonnull 5
         3: .line 975
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 976
            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 979
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 980
            aload 1 /* role */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* initFlag */
            aastore
         7: .line 979
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 983
            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
         9: .line 985
            aload 1 /* role */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 5 /* roleName */
        start local 5 // java.lang.String roleName
        10: .line 986
            aload 1 /* role */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 6 /* roleValue */
        start local 6 // java.util.List roleValue
        11: .line 987
            iconst_1
            istore 7 /* writeChkFlag */
        start local 7 // boolean writeChkFlag
        12: .line 988
            aload 3 /* initFlag */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 14
        13: .line 989
            iconst_0
            istore 7 /* writeChkFlag */
        14: .line 994
      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
        15: .line 995
            goto 19
        end local 8 // javax.management.relation.RoleInfo roleInfo
      StackMap locals:
      StackMap stack: javax.management.relation.RoleInfoNotFoundException
        16: pop
        17: .line 996
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        18: .line 997
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        start local 8 // javax.management.relation.RoleInfo roleInfo
        19: .line 1000
      StackMap locals: javax.management.relation.RoleInfo
      StackMap stack:
            aload 0 /* this */
            iconst_2
        20: .line 1001
            aload 5 /* roleName */
        21: .line 1002
            aload 6 /* roleValue */
        22: .line 1003
            aload 8 /* roleInfo */
        23: .line 1004
            iload 7 /* writeChkFlag */
        24: .line 1000
            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
        25: .line 1006
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        26: .line 1007
            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   27     0              this  Ljavax/management/relation/RelationService;
            0   27     1              role  Ljavax/management/relation/Role;
            0   27     2  relationTypeName  Ljava/lang/String;
            0   27     3          initFlag  Ljava/lang/Boolean;
            4    5     4            excMsg  Ljava/lang/String;
            9   27     4           relType  Ljavax/management/relation/RelationType;
           10   27     5          roleName  Ljava/lang/String;
           11   27     6         roleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           12   27     7      writeChkFlag  Z
           15   16     8          roleInfo  Ljavax/management/relation/RoleInfo;
           19   27     8          roleInfo  Ljavax/management/relation/RoleInfo;
           25   27     9            result  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
          14    15      16  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 1031
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 1032
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 1033
            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 1036
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 1039
            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
         5: .line 1040
            aload 2 /* ntfMsg */
            aload 1 /* relationId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1043
            aload 0 /* this */
            iconst_1
         7: .line 1044
            aload 2 /* ntfMsg */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1045
            aload 1 /* relationId */
         9: .line 1046
            aconst_null
        10: .line 1047
            aconst_null
        11: .line 1048
            aconst_null
        12: .line 1049
            aconst_null
        13: .line 1043
            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
        14: .line 1051
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        15: .line 1052
            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   16     0        this  Ljavax/management/relation/RelationService;
            0   16     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            5   16     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 1083
            aload 1 /* relationId */
            ifnull 3
         1: .line 1084
            aload 2 /* newRole */
            ifnull 3
         2: .line 1085
            aload 3 /* oldValue */
            ifnonnull 5
         3: .line 1086
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 1087
            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 1090
      StackMap locals:
      StackMap stack:
            aload 3 /* oldValue */
            instanceof java.util.ArrayList
            ifne 7
         6: .line 1091
            new java.util.ArrayList
            dup
            aload 3 /* oldValue */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 3 /* oldValue */
         7: .line 1093
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 1094
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* newRole */
            aastore
            dup
            iconst_2
            aload 3 /* oldValue */
            aastore
         9: .line 1093
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        10: .line 1096
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 4 /* roleName */
        start local 4 // java.lang.String roleName
        11: .line 1097
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 5 /* newRoleVal */
        start local 5 // java.util.List newRoleVal
        12: .line 1100
            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
        13: .line 1101
            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
        14: .line 1102
            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
        15: .line 1103
            aload 8 /* ntfMsg */
            aload 4 /* roleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1104
            aload 8 /* ntfMsg */
            ldc " has changed\nOld value:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1105
            aload 8 /* ntfMsg */
            aload 7 /* oldRoleValString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 1106
            aload 8 /* ntfMsg */
            ldc "\nNew value:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 1107
            aload 8 /* ntfMsg */
            aload 6 /* newRoleValString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 1110
            aload 0 /* this */
            iconst_2
        21: .line 1111
            aload 8 /* ntfMsg */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1112
            aload 1 /* relationId */
        23: .line 1113
            aconst_null
        24: .line 1114
            aload 4 /* roleName */
        25: .line 1115
            aload 5 /* newRoleVal */
        26: .line 1116
            aload 3 /* oldValue */
        27: .line 1110
            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
        28: .line 1118
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        29: .line 1119
            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   30     0              this  Ljavax/management/relation/RelationService;
            0   30     1        relationId  Ljava/lang/String;
            0   30     2           newRole  Ljavax/management/relation/Role;
            0   30     3          oldValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            4    5     4            excMsg  Ljava/lang/String;
           11   30     4          roleName  Ljava/lang/String;
           12   30     5        newRoleVal  Ljava/util/List<Ljavax/management/ObjectName;>;
           13   30     6  newRoleValString  Ljava/lang/String;
           14   30     7  oldRoleValString  Ljava/lang/String;
           15   30     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 1144
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 1145
            ldc "Invalid parameter"
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 1146
            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 1149
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 1150
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* unregMBeanList */
            aastore
         5: .line 1149
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 1153
            aload 0 /* this */
            iconst_3
         7: .line 1154
            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;
         8: .line 1155
            aload 1 /* relationId */
         9: .line 1156
            aload 2 /* unregMBeanList */
        10: .line 1157
            aconst_null
        11: .line 1158
            aconst_null
        12: .line 1159
            aconst_null
        13: .line 1153
            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
        14: .line 1162
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        15: .line 1163
            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   16     0            this  Ljavax/management/relation/RelationService;
            0   16     1      relationId  Ljava/lang/String;
            0   16     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 1194
            aload 1 /* relationId */
            ifnull 3
         1: .line 1195
            aload 2 /* newRole */
            ifnull 3
         2: .line 1196
            aload 3 /* oldValue */
            ifnonnull 5
         3: .line 1197
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 1198
            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 1201
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 1202
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* newRole */
            aastore
            dup
            iconst_2
            aload 3 /* oldValue */
            aastore
         7: .line 1201
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 1205
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         9: .line 1209
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.getRelation:(Ljava/lang/String;)Ljava/lang/Object;
            pop
        10: .line 1211
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 4 /* roleName */
        start local 4 // java.lang.String roleName
        11: .line 1212
            aload 2 /* newRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 5 /* newRoleValue */
        start local 5 // java.util.List newRoleValue
        12: .line 1216
            new java.util.ArrayList
            dup
            aload 3 /* oldValue */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        13: .line 1215
            astore 6 /* oldRoleValue */
        start local 6 // java.util.List oldRoleValue
        14: .line 1219
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* newRefList */
        start local 7 // java.util.List newRefList
        15: .line 1221
            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 1227
            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 1229
            iload 10 /* currObjNamePos */
            iconst_m1
            if_icmpne 26
        19: .line 1235
            aload 0 /* this */
            aload 8 /* currObjName */
        20: .line 1236
            aload 1 /* relationId */
        21: .line 1237
            aload 4 /* roleName */
        22: .line 1235
            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 1239
            iload 11 /* isNewFlag */
            ifeq 27
        24: .line 1241
            aload 7 /* newRefList */
            aload 8 /* currObjName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // boolean isNewFlag
        25: .line 1244
            goto 27
        26: .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 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 1221
      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 1254
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* obsRefList */
        start local 8 // java.util.List obsRefList
        29: .line 1258
            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 1262
            aload 0 /* this */
            aload 9 /* currObjName */
        32: .line 1263
            aload 1 /* relationId */
        33: .line 1264
            aload 4 /* roleName */
        34: .line 1265
            iconst_0
        35: .line 1262
            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 1267
            iload 11 /* noLongerRefFlag */
            ifeq 38
        37: .line 1269
            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 1258
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        39: .line 1276
            aload 0 /* this */
            aload 7 /* newRefList */
            aload 8 /* obsRefList */
            invokevirtual javax.management.relation.RelationService.updateUnregistrationListener:(Ljava/util/List;Ljava/util/List;)V
        40: .line 1278
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        41: .line 1279
            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   42     0             this  Ljavax/management/relation/RelationService;
            0   42     1       relationId  Ljava/lang/String;
            0   42     2          newRole  Ljavax/management/relation/Role;
            0   42     3         oldValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            4    5     4           excMsg  Ljava/lang/String;
           11   42     4         roleName  Ljava/lang/String;
           12   42     5     newRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           14   42     6     oldRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           15   42     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   42     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=7, locals=9, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 1305
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         1: .line 1307
            aload 1 /* relationId */
            ifnonnull 4
         2: .line 1308
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         3: .line 1309
            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 1312
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 1316
            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
         6: .line 1319
            aload 2 /* result */
            instanceof javax.management.ObjectName
            ifeq 10
         7: .line 1320
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* obsRefList */
        start local 3 // java.util.List obsRefList
         8: .line 1321
            aload 3 /* obsRefList */
            aload 2 /* result */
            checkcast javax.management.ObjectName
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 1323
            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
        10: .line 1337
      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
        11: .line 1349
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* refMBeanList */
        start local 3 // java.util.List refMBeanList
        12: .line 1352
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* nonRefObjNameList */
        start local 4 // java.util.List nonRefObjNameList
        13: .line 1354
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        14: .line 1357
            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 23
      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:
        15: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 6 /* currRefObjName */
        start local 6 // javax.management.ObjectName currRefObjName
        16: .line 1361
            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
        17: .line 1360
            astore 8 /* relIdMap */
        start local 8 // java.util.Map relIdMap
        18: .line 1363
            aload 8 /* relIdMap */
            aload 1 /* relationId */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 1364
            aload 8 /* relIdMap */
            aload 1 /* relationId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 1365
            aload 3 /* refMBeanList */
            aload 6 /* currRefObjName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 1368
      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 23
        22: .line 1372
            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
        23: .line 1356
      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 15
        24: .line 1378
            aload 4 /* nonRefObjNameList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 27
      StackMap locals:
      StackMap stack:
        25: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 6 /* currRefObjName */
        start local 6 // javax.management.ObjectName currRefObjName
        26: .line 1379
            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
        27: .line 1378
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        28: .line 1354
            aload 5
            monitorexit
        29: goto 32
      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
        30: aload 5
            monitorexit
        31: athrow
        32: .line 1384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        33: .line 1385
            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
        34: .line 1384
            aload 5
            monitorexit
        35: goto 38
      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
        36: aload 5
            monitorexit
        37: athrow
        38: .line 1388
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            instanceof javax.management.ObjectName
            ifeq 45
        39: .line 1390
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        40: .line 1391
            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
        41: .line 1390
            aload 5
            monitorexit
        42: goto 45
      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
        43: aload 5
            monitorexit
        44: athrow
        45: .line 1398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 6
            monitorenter
        46: .line 1399
            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
        47: .line 1400
            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
        48: .line 1398
            aload 6
            monitorexit
        49: goto 52
        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
        50: aload 6
            monitorexit
        51: athrow
        start local 5 // java.lang.String relTypeName
        52: .line 1403
      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
        53: .line 1404
            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
        54: .line 1405
            aload 7 /* relIdList */
            ifnull 58
        55: .line 1407
            aload 7 /* relIdList */
            aload 1 /* relationId */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        56: .line 1408
            aload 7 /* relIdList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 58
        57: .line 1410
            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
        58: .line 1403
      StackMap locals: java.util.Map
      StackMap stack:
            aload 6
            monitorexit
        59: goto 62
      StackMap locals:
      StackMap stack: java.lang.Throwable
        60: aload 6
            monitorexit
        61: athrow
        62: .line 1415
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        63: .line 1416
            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   64     0               this  Ljavax/management/relation/RelationService;
            0   64     1         relationId  Ljava/lang/String;
            3    4     2             excMsg  Ljava/lang/String;
            6   64     2             result  Ljava/lang/Object;
            8   10     3         obsRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
           12   64     3       refMBeanList  Ljava/util/List<Ljavax/management/ObjectName;>;
           13   64     4  nonRefObjNameList  Ljava/util/List<Ljavax/management/ObjectName;>;
           16   23     6     currRefObjName  Ljavax/management/ObjectName;
           18   23     8           relIdMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           26   27     6     currRefObjName  Ljavax/management/ObjectName;
           47   50     5        relTypeName  Ljava/lang/String;
           52   64     5        relTypeName  Ljava/lang/String;
           54   58     7          relIdList  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          14    29      30  any
          30    31      30  any
          33    35      36  any
          36    37      36  any
          40    42      43  any
          43    44      43  any
          46    49      50  any
          50    51      50  any
          53    59      60  any
          60    61      60  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 1448
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 1451
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         2: .line 1463
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         3: .line 1465
            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
         4: .line 1464
            astore 1 /* localUnregNtfList */
        start local 1 // java.util.List localUnregNtfList
         5: .line 1467
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield javax.management.relation.RelationService.myUnregNtfList:Ljava/util/List;
         6: .line 1463
            aload 2
            monitorexit
         7: goto 10
        end local 1 // java.util.List localUnregNtfList
      StackMap locals: javax.management.relation.RelationService top java.util.Map
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        start local 1 // java.util.List localUnregNtfList
        10: .line 1477
      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
        11: .line 1481
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        12: .line 1480
            astore 3 /* localMBean2RelIdMap */
        start local 3 // java.util.Map localMBean2RelIdMap
        13: .line 1483
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 4
            monitorenter
        14: .line 1484
            aload 1 /* localUnregNtfList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 22
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        15: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.MBeanServerNotification
            astore 5 /* currNtf */
        start local 5 // javax.management.MBeanServerNotification currNtf
        16: .line 1486
            aload 5 /* currNtf */
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
            astore 7 /* unregMBeanName */
        start local 7 // javax.management.ObjectName unregMBeanName
        17: .line 1490
            aload 2 /* obsRefList */
            aload 7 /* unregMBeanName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 1494
            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
        19: .line 1493
            astore 8 /* relIdMap */
        start local 8 // java.util.Map relIdMap
        20: .line 1495
            aload 3 /* localMBean2RelIdMap */
            aload 7 /* unregMBeanName */
            aload 8 /* relIdMap */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 1497
            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
        22: .line 1484
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        23: .line 1483
            aload 4
            monitorexit
        24: goto 27
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map java.util.Map
      StackMap stack: java.lang.Throwable
        25: aload 4
            monitorexit
        26: athrow
        27: .line 1503
      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
        28: .line 1505
            aload 1 /* localUnregNtfList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 47
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List java.util.Map top java.util.Iterator
      StackMap stack:
        29: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.MBeanServerNotification
            astore 4 /* currNtf */
        start local 4 // javax.management.MBeanServerNotification currNtf
        30: .line 1507
            aload 4 /* currNtf */
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
            astore 6 /* unregMBeanName */
        start local 6 // javax.management.ObjectName unregMBeanName
        31: .line 1511
            aload 3 /* localMBean2RelIdMap */
            aload 6 /* unregMBeanName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
        32: .line 1510
            astore 7 /* localRelIdMap */
        start local 7 // java.util.Map localRelIdMap
        33: .line 1516
            aload 7 /* localRelIdMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 46
      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:
        34: 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
        35: .line 1517
            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
        36: .line 1520
            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
        37: .line 1534
            aload 0 /* this */
            aload 10 /* currRelId */
        38: .line 1535
            aload 6 /* unregMBeanName */
        39: .line 1536
            aload 11 /* localRoleNameList */
        40: .line 1534
            invokevirtual javax.management.relation.RelationService.handleReferenceUnregistration:(Ljava/lang/String;Ljavax/management/ObjectName;Ljava/util/List;)V
        41: .line 1537
            goto 46
      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
        42: astore 12 /* exc1 */
        start local 12 // javax.management.relation.RelationNotFoundException exc1
        43: .line 1538
            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
        44: .line 1539
      StackMap locals:
      StackMap stack: javax.management.relation.RoleNotFoundException
            astore 12 /* exc2 */
        start local 12 // javax.management.relation.RoleNotFoundException exc2
        45: .line 1540
            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
        46: .line 1515
      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 34
        end local 7 // java.util.Map localRelIdMap
        end local 6 // javax.management.ObjectName unregMBeanName
        end local 4 // javax.management.MBeanServerNotification currNtf
        47: .line 1505
      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 29
        48: .line 1545
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        49: .line 1546
            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   50     0                 this  Ljavax/management/relation/RelationService;
            5    8     1    localUnregNtfList  Ljava/util/List<Ljavax/management/MBeanServerNotification;>;
           10   50     1    localUnregNtfList  Ljava/util/List<Ljavax/management/MBeanServerNotification;>;
           11   50     2           obsRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
           13   50     3  localMBean2RelIdMap  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;>;
           16   22     5              currNtf  Ljavax/management/MBeanServerNotification;
           17   22     7       unregMBeanName  Ljavax/management/ObjectName;
           20   22     8             relIdMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           30   47     4              currNtf  Ljavax/management/MBeanServerNotification;
           31   47     6       unregMBeanName  Ljavax/management/ObjectName;
           33   47     7        localRelIdMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           35   46     8              currRel  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           36   46    10            currRelId  Ljava/lang/String;
           37   46    11    localRoleNameList  Ljava/util/List<Ljava/lang/String;>;
           43   44    12                 exc1  Ljavax/management/relation/RelationNotFoundException;
           45   46    12                 exc2  Ljavax/management/relation/RoleNotFoundException;
      Exception table:
        from    to  target  type
           3     7       8  any
           8     9       8  any
          14    24      25  any
          25    26      25  any
          37    41      42  Class javax.management.relation.RelationNotFoundException
          37    41      44  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 1575
            aload 1 /* mbeanName */
            ifnonnull 3
         1: .line 1576
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         2: .line 1577
            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 1580
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 1581
            aload 1 /* mbeanName */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* roleName */
            aastore
         5: .line 1580
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 1583
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.Map result
         7: .line 1585
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
         8: .line 1589
            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
         9: .line 1588
            astore 6 /* relId2RoleNamesMap */
        start local 6 // java.util.Map relId2RoleNamesMap
        10: .line 1591
            aload 6 /* relId2RoleNamesMap */
            ifnull 42
        11: .line 1594
            aload 6 /* relId2RoleNamesMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 7 /* allRelIdSet */
        start local 7 // java.util.Set allRelIdSet
        12: .line 1599
            aload 2 /* relationTypeName */
            ifnonnull 15
        13: .line 1601
            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
        14: .line 1603
            goto 28
        end local 8 // java.util.List relIdList
        15: .line 1605
      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
        16: .line 1609
            aload 7 /* allRelIdSet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 10
            goto 27
      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:
        17: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* currRelId */
        start local 9 // java.lang.String currRelId
        18: .line 1613
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 12
            monitorenter
        19: .line 1615
            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
        20: .line 1614
            astore 11 /* currRelTypeName */
        start local 11 // java.lang.String currRelTypeName
        21: .line 1613
            aload 12
            monitorexit
        22: goto 25
        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
        23: aload 12
            monitorexit
        24: athrow
        start local 11 // java.lang.String currRelTypeName
        25: .line 1618
      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 27
        26: .line 1620
            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
        27: .line 1609
      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 17
        28: .line 1629
      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 41
      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:
        29: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* currRelId */
        start local 9 // java.lang.String currRelId
        30: .line 1633
            aload 6 /* relId2RoleNamesMap */
            aload 9 /* currRelId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
        31: .line 1632
            astore 11 /* currRoleNameList */
        start local 11 // java.util.List currRoleNameList
        32: .line 1635
            aload 3 /* roleName */
            ifnonnull 37
        33: .line 1639
            aload 4 /* result */
            aload 9 /* currRelId */
        34: .line 1640
            new java.util.ArrayList
            dup
            aload 11 /* currRoleNameList */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        35: .line 1639
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 1642
            goto 41
      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:
        37: aload 11 /* currRoleNameList */
            aload 3 /* roleName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 41
        38: .line 1645
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 12 /* dummyList */
        start local 12 // java.util.List dummyList
        39: .line 1646
            aload 12 /* dummyList */
            aload 3 /* roleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        40: .line 1647
            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
        41: .line 1629
      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 29
        end local 8 // java.util.List relIdList
        end local 7 // java.util.Set allRelIdSet
        end local 6 // java.util.Map relId2RoleNamesMap
        42: .line 1585
      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
        43: goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: aload 5
            monitorexit
        45: athrow
        46: .line 1653
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        47: .line 1654
            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   48     0                this  Ljavax/management/relation/RelationService;
            0   48     1           mbeanName  Ljavax/management/ObjectName;
            0   48     2    relationTypeName  Ljava/lang/String;
            0   48     3            roleName  Ljava/lang/String;
            2    3     4              excMsg  Ljava/lang/String;
            7   48     4              result  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           10   42     6  relId2RoleNamesMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           12   42     7         allRelIdSet  Ljava/util/Set<Ljava/lang/String;>;
           14   15     8           relIdList  Ljava/util/List<Ljava/lang/String;>;
           16   42     8           relIdList  Ljava/util/List<Ljava/lang/String;>;
           18   27     9           currRelId  Ljava/lang/String;
           21   23    11     currRelTypeName  Ljava/lang/String;
           25   27    11     currRelTypeName  Ljava/lang/String;
           30   41     9           currRelId  Ljava/lang/String;
           32   41    11    currRoleNameList  Ljava/util/List<Ljava/lang/String;>;
           39   41    12           dummyList  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          19    22      23  any
          23    24      23  any
           8    43      44  any
          44    45      44  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 1683
            aload 1 /* mbeanName */
            ifnonnull 3
         1: .line 1684
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         2: .line 1685
            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 1688
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 1689
            aload 1 /* mbeanName */
            aastore
            dup
            iconst_1
            aload 2 /* relationTypeName */
            aastore
            dup
            iconst_2
            aload 3 /* roleName */
            aastore
         5: .line 1688
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 1694
            aload 0 /* this */
            aload 1 /* mbeanName */
         7: .line 1695
            aload 2 /* relationTypeName */
         8: .line 1696
            aload 3 /* roleName */
         9: .line 1694
            invokevirtual javax.management.relation.RelationService.findReferencingRelations:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
        10: .line 1693
            astore 4 /* relId2RoleNamesMap */
        start local 4 // java.util.Map relId2RoleNamesMap
        11: .line 1699
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        12: .line 1698
            astore 5 /* result */
        start local 5 // java.util.Map result
        13: .line 1701
            aload 4 /* relId2RoleNamesMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 30
      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:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* currRelId */
        start local 6 // java.lang.String currRelId
        15: .line 1709
            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
        16: .line 1710
            goto 19
        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
        17: astore 9 /* exc */
        start local 9 // javax.management.relation.RelationNotFoundException exc
        18: .line 1711
            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
        19: .line 1716
      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 29
      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:
        20: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 9 /* currObjName */
        start local 9 // javax.management.ObjectName currObjName
        21: .line 1718
            aload 9 /* currObjName */
            aload 1 /* mbeanName */
            invokevirtual javax.management.ObjectName.equals:(Ljava/lang/Object;)Z
            ifne 29
        22: .line 1722
            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
        23: .line 1723
            aload 11 /* currRelIdList */
            ifnonnull 28
        24: .line 1725
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* currRelIdList */
        25: .line 1726
            aload 11 /* currRelIdList */
            aload 6 /* currRelId */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 1727
            aload 5 /* result */
            aload 9 /* currObjName */
            aload 11 /* currRelIdList */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 1729
            goto 29
        28: .line 1730
      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
        29: .line 1716
      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 20
        end local 8 // java.util.Map objName2RoleNamesMap
        end local 6 // java.lang.String currRelId
        30: .line 1701
      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 14
        31: .line 1736
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        32: .line 1737
            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   33     0                  this  Ljavax/management/relation/RelationService;
            0   33     1             mbeanName  Ljavax/management/ObjectName;
            0   33     2      relationTypeName  Ljava/lang/String;
            0   33     3              roleName  Ljava/lang/String;
            2    3     4                excMsg  Ljava/lang/String;
           11   33     4    relId2RoleNamesMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           13   33     5                result  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           15   30     6             currRelId  Ljava/lang/String;
           16   17     8  objName2RoleNamesMap  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           19   30     8  objName2RoleNamesMap  Ljava/util/Map<Ljavax/management/ObjectName;Ljava/util/List<Ljava/lang/String;>;>;
           18   19     9                   exc  Ljavax/management/relation/RelationNotFoundException;
           21   29     9           currObjName  Ljavax/management/ObjectName;
           23   29    11         currRelIdList  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          15    16      17  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 1755
            aload 1 /* relationTypeName */
            ifnonnull 3
         1: .line 1756
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 1757
            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 1760
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         4: .line 1763
            aload 0 /* this */
            aload 1 /* relationTypeName */
            invokevirtual javax.management.relation.RelationService.getRelationType:(Ljava/lang/String;)Ljavax/management/relation/RelationType;
            pop
         5: .line 1766
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         6: .line 1767
            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
         7: .line 1768
            aload 4 /* result1 */
            ifnonnull 10
         8: .line 1769
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         9: goto 11
        end local 2 // java.util.List result
        10: .line 1771
      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
        11: .line 1766
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List java.util.Map
      StackMap stack:
            aload 3
            monitorexit
        12: goto 15
        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
        13: aload 3
            monitorexit
        14: athrow
        start local 2 // java.util.List result
        15: .line 1774
      StackMap locals: javax.management.relation.RelationService java.lang.String java.util.List
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        16: .line 1775
            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   17     0              this  Ljavax/management/relation/RelationService;
            0   17     1  relationTypeName  Ljava/lang/String;
            2    3     2            excMsg  Ljava/lang/String;
            9   10     2            result  Ljava/util/List<Ljava/lang/String;>;
           11   13     2            result  Ljava/util/List<Ljava/lang/String;>;
           15   17     2            result  Ljava/util/List<Ljava/lang/String;>;
            7   11     4           result1  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
           6    12      13  any
          13    14      13  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 1804
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleName */
            ifnonnull 3
         1: .line 1805
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 1806
            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 1809
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 1810
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* roleName */
            aastore
         5: .line 1809
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 1813
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 1816
            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 1820
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 16
         9: .line 1824
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* roleName */
        10: .line 1825
            iconst_1
        11: .line 1826
            aload 0 /* this */
        12: .line 1827
            iconst_0
        13: .line 1824
            invokevirtual javax.management.relation.RelationSupport.getRoleInt:(Ljava/lang/String;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
        14: .line 1823
            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 1829
            goto 40
        end local 4 // java.util.List result
        16: .line 1831
      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 1832
            aload 5 /* params */
            iconst_0
            aload 2 /* roleName */
            aastore
        18: .line 1833
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        19: .line 1834
            aload 6 /* signature */
            iconst_0
            ldc "java.lang.String"
            aastore
        20: .line 1841
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        21: .line 1842
            ldc "getRole"
        22: .line 1843
            aload 5 /* params */
        23: .line 1844
            aload 6 /* signature */
        24: .line 1841
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        25: .line 1840
            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 1845
            aload 7 /* invokeResult */
            ifnull 27
            aload 7 /* invokeResult */
            instanceof java.util.ArrayList
            ifeq 29
        27: .line 1846
      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 1848
      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 1849
            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 1850
            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 1851
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        34: .line 1852
            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 1853
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        36: .line 1854
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 8 /* wrappedExc */
        start local 8 // java.lang.Exception wrappedExc
        37: .line 1855
            aload 8 /* wrappedExc */
            instanceof javax.management.relation.RoleNotFoundException
            ifeq 39
        38: .line 1856
            aload 8 /* wrappedExc */
            checkcast javax.management.relation.RoleNotFoundException
            athrow
        39: .line 1858
      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 1863
      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/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        41: .line 1864
            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=7, 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 1890
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleNameArray */
            ifnonnull 3
         1: .line 1891
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 1892
            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 1895
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 1898
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         5: .line 1901
            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
         6: .line 1905
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 12
         7: .line 1907
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* roleNameArray */
         8: .line 1908
            iconst_1
         9: .line 1909
            aload 0 /* this */
        10: .line 1907
            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
        11: .line 1910
            goto 32
        end local 4 // javax.management.relation.RoleResult result
        12: .line 1912
      StackMap locals: java.lang.Object
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        13: .line 1913
            aload 5 /* params */
            iconst_0
            aload 2 /* roleNameArray */
            aastore
        14: .line 1914
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        15: .line 1916
            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
        16: .line 1917
            goto 18
      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
        17: pop
        18: .line 1925
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        19: .line 1926
            ldc "getRoles"
        20: .line 1927
            aload 5 /* params */
        21: .line 1928
            aload 6 /* signature */
        22: .line 1925
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        23: .line 1924
            checkcast javax.management.relation.RoleResult
            astore 4 /* result */
        start local 4 // javax.management.relation.RoleResult result
        24: .line 1929
            goto 32
        end local 4 // javax.management.relation.RoleResult result
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        25: astore 7 /* exc1 */
        start local 7 // javax.management.InstanceNotFoundException exc1
        26: .line 1930
            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
        27: .line 1931
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        28: .line 1932
            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
        29: .line 1933
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        30: .line 1935
            new java.lang.RuntimeException
            dup
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
        31: .line 1934
            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
        32: .line 1939
      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/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        33: .line 1940
            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   34     0           this  Ljavax/management/relation/RelationService;
            0   34     1     relationId  Ljava/lang/String;
            0   34     2  roleNameArray  [Ljava/lang/String;
            2    3     3         excMsg  Ljava/lang/String;
            6   34     3         relObj  Ljava/lang/Object;
           11   12     4         result  Ljavax/management/relation/RoleResult;
           24   25     4         result  Ljavax/management/relation/RoleResult;
           32   34     4         result  Ljavax/management/relation/RoleResult;
           13   32     5         params  [Ljava/lang/Object;
           15   32     6      signature  [Ljava/lang/String;
           26   27     7           exc1  Ljavax/management/InstanceNotFoundException;
           28   29     7           exc2  Ljavax/management/ReflectionException;
           30   32     7           exc3  Ljavax/management/MBeanException;
      Exception table:
        from    to  target  type
          15    16      17  Class java.lang.Exception
          18    24      25  Class javax.management.InstanceNotFoundException
          18    24      27  Class javax.management.ReflectionException
          18    24      29  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=7, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 1962
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 1963
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 1964
            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 1967
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 1970
            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
         5: .line 1974
            aload 2 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 8
         6: .line 1976
            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
         7: .line 1978
            goto 15
        end local 3 // javax.management.relation.RoleResult result
         8: .line 1983
      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
         9: .line 1984
            ldc "AllRoles"
        10: .line 1983
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        11: .line 1982
            checkcast javax.management.relation.RoleResult
            astore 3 /* result */
        start local 3 // javax.management.relation.RoleResult result
        12: .line 1985
            goto 15
        end local 3 // javax.management.relation.RoleResult result
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: astore 4 /* exc */
        start local 4 // java.lang.Exception exc
        14: .line 1986
            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
        15: .line 1990
      StackMap locals: javax.management.relation.RoleResult
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        16: .line 1991
            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   17     0        this  Ljavax/management/relation/RelationService;
            0   17     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            5   17     2      relObj  Ljava/lang/Object;
            7    8     3      result  Ljavax/management/relation/RoleResult;
           12   13     3      result  Ljavax/management/relation/RoleResult;
           15   17     3      result  Ljavax/management/relation/RoleResult;
           14   15     4         exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    12      13  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 2012
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleName */
            ifnonnull 3
         1: .line 2013
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2014
            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 2017
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 2018
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* roleName */
            aastore
         5: .line 2017
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2021
            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 2025
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 10
         8: .line 2028
            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 2030
            goto 30
        end local 4 // java.lang.Integer result
        10: .line 2032
      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 2033
            aload 5 /* params */
            iconst_0
            aload 2 /* roleName */
            aastore
        12: .line 2034
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        13: .line 2035
            aload 6 /* signature */
            iconst_0
            ldc "java.lang.String"
            aastore
        14: .line 2042
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        15: .line 2043
            ldc "getRoleCardinality"
        16: .line 2044
            aload 5 /* params */
        17: .line 2045
            aload 6 /* signature */
        18: .line 2042
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        19: .line 2041
            checkcast java.lang.Integer
            astore 4 /* result */
        start local 4 // java.lang.Integer result
        20: .line 2046
            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 2047
            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 2048
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc2 */
        start local 7 // javax.management.ReflectionException exc2
        24: .line 2049
            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 2050
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc3 */
        start local 7 // javax.management.MBeanException exc3
        26: .line 2051
            aload 7 /* exc3 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 8 /* wrappedExc */
        start local 8 // java.lang.Exception wrappedExc
        27: .line 2052
            aload 8 /* wrappedExc */
            instanceof javax.management.relation.RoleNotFoundException
            ifeq 29
        28: .line 2053
            aload 8 /* wrappedExc */
            checkcast javax.management.relation.RoleNotFoundException
            athrow
        29: .line 2055
      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 2060
      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/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        31: .line 2061
            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   32     0        this  Ljavax/management/relation/RelationService;
            0   32     1  relationId  Ljava/lang/String;
            0   32     2    roleName  Ljava/lang/String;
            2    3     3      excMsg  Ljava/lang/String;
            7   32     3      relObj  Ljava/lang/Object;
            9   10     4      result  Ljava/lang/Integer;
           20   21     4      result  Ljava/lang/Integer;
           30   32     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 2103
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* role */
            ifnonnull 3
         1: .line 2104
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2105
            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 2108
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 2109
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* role */
            aastore
         5: .line 2108
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2112
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 2115
            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 2117
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 17
         9: .line 2126
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* role */
        10: .line 2127
            iconst_1
        11: .line 2128
            aload 0 /* this */
        12: .line 2129
            iconst_0
        13: .line 2126
            invokevirtual javax.management.relation.RelationSupport.setRoleInt:(Ljavax/management/relation/Role;ZLjavax/management/relation/RelationService;Z)Ljava/lang/Object;
            pop
        14: .line 2131
            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 2132
            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 2137
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 4 /* params */
        start local 4 // java.lang.Object[] params
        18: .line 2138
            aload 4 /* params */
            iconst_0
            aload 2 /* role */
            aastore
        19: .line 2139
            iconst_1
            anewarray java.lang.String
            astore 5 /* signature */
        start local 5 // java.lang.String[] signature
        20: .line 2140
            aload 5 /* signature */
            iconst_0
            ldc "javax.management.relation.Role"
            aastore
        21: .line 2148
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        22: .line 2149
            new javax.management.Attribute
            dup
            ldc "Role"
            aload 2 /* role */
            invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
        23: .line 2148
            invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
        24: .line 2151
            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 2152
            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 2153
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 6 /* exc3 */
        start local 6 // javax.management.ReflectionException exc3
        28: .line 2154
            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 2155
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 6 /* exc2 */
        start local 6 // javax.management.MBeanException exc2
        30: .line 2156
            aload 6 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 7 /* wrappedExc */
        start local 7 // java.lang.Exception wrappedExc
        31: .line 2157
            aload 7 /* wrappedExc */
            instanceof javax.management.relation.RoleNotFoundException
            ifeq 33
        32: .line 2158
            aload 7 /* wrappedExc */
            checkcast javax.management.relation.RoleNotFoundException
            athrow
        33: .line 2159
      StackMap locals: javax.management.MBeanException java.lang.Exception
      StackMap stack:
            aload 7 /* wrappedExc */
            instanceof javax.management.relation.InvalidRoleValueException
            ifeq 35
        34: .line 2160
            aload 7 /* wrappedExc */
            checkcast javax.management.relation.InvalidRoleValueException
            athrow
        35: .line 2162
      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 2165
      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 2166
            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 2167
      StackMap locals:
      StackMap stack: javax.management.InvalidAttributeValueException
            astore 6 /* exc5 */
        start local 6 // javax.management.InvalidAttributeValueException exc5
        39: .line 2168
            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 2172
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        41: .line 2173
            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 2203
            aload 1 /* relationId */
            ifnull 1
            aload 2 /* roleList */
            ifnonnull 3
         1: .line 2204
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2205
            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 2208
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 2209
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* roleList */
            aastore
         5: .line 2208
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2212
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 2215
            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 2219
            aload 3 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 16
         9: .line 2226
            aload 3 /* relObj */
            checkcast javax.management.relation.RelationSupport
            aload 2 /* roleList */
        10: .line 2227
            iconst_1
        11: .line 2228
            aload 0 /* this */
        12: .line 2226
            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 2229
            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 2230
            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 2235
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 5 /* params */
        start local 5 // java.lang.Object[] params
        17: .line 2236
            aload 5 /* params */
            iconst_0
            aload 2 /* roleList */
            aastore
        18: .line 2237
            iconst_1
            anewarray java.lang.String
            astore 6 /* signature */
        start local 6 // java.lang.String[] signature
        19: .line 2238
            aload 6 /* signature */
            iconst_0
            ldc "javax.management.relation.RoleList"
            aastore
        20: .line 2243
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relObj */
            checkcast javax.management.ObjectName
        21: .line 2244
            ldc "setRoles"
        22: .line 2245
            aload 5 /* params */
        23: .line 2246
            aload 6 /* signature */
        24: .line 2243
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
        25: .line 2242
            checkcast javax.management.relation.RoleResult
            astore 4 /* result */
        start local 4 // javax.management.relation.RoleResult result
        26: .line 2247
            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 2248
            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 2249
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 7 /* exc3 */
        start local 7 // javax.management.ReflectionException exc3
        30: .line 2250
            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 2251
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 7 /* exc2 */
        start local 7 // javax.management.MBeanException exc2
        32: .line 2253
            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 2252
            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 2257
      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/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        35: .line 2258
            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=7, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 2278
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 2279
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2280
            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 2283
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 2284
            aload 1 /* relationId */
            aastore
         5: .line 2283
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2287
            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 2291
            aload 2 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 10
         8: .line 2293
            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 2295
            goto 17
        end local 3 // java.util.Map result
        10: .line 2300
      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 2301
            ldc "ReferencedMBeans"
        12: .line 2300
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        13: .line 2299
            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 2302
            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 2303
            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 2307
      StackMap locals: java.util.Map
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        18: .line 2308
            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   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  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   19     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=7, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 2326
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 2327
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2328
            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 2331
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 2334
            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
         5: .line 2338
            aload 2 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 8
         6: .line 2340
            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
         7: .line 2342
            goto 15
        end local 3 // java.lang.String result
         8: .line 2347
      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
         9: .line 2348
            ldc "RelationTypeName"
        10: .line 2347
            invokeinterface javax.management.MBeanServer.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
        11: .line 2346
            checkcast java.lang.String
            astore 3 /* result */
        start local 3 // java.lang.String result
        12: .line 2349
            goto 15
        end local 3 // java.lang.String result
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: astore 4 /* exc */
        start local 4 // java.lang.Exception exc
        14: .line 2350
            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
        15: .line 2354
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        16: .line 2355
            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   17     0        this  Ljavax/management/relation/RelationService;
            0   17     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            5   17     2      relObj  Ljava/lang/Object;
            7    8     3      result  Ljava/lang/String;
           12   13     3      result  Ljava/lang/String;
           15   17     3      result  Ljava/lang/String;
           14   15     4         exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    12      13  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=7, 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 2374
            aload 1 /* notif */
            ifnonnull 3
         1: .line 2375
            ldc "Invalid parameter."
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
         2: .line 2376
            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 2379
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* notif */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 2381
            aload 1 /* notif */
            instanceof javax.management.MBeanServerNotification
            ifeq 43
         5: .line 2383
            aload 1 /* notif */
            checkcast javax.management.MBeanServerNotification
            astore 3 /* mbsNtf */
        start local 3 // javax.management.MBeanServerNotification mbsNtf
         6: .line 2384
            aload 1 /* notif */
            invokevirtual javax.management.Notification.getType:()Ljava/lang/String;
            astore 4 /* ntfType */
        start local 4 // java.lang.String ntfType
         7: .line 2386
            aload 4 /* ntfType */
         8: .line 2387
            ldc "JMX.mbean.unregistered"
         9: .line 2386
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        10: .line 2387
            ifeq 43
        11: .line 2389
            aload 1 /* notif */
            checkcast javax.management.MBeanServerNotification
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
        12: .line 2388
            astore 5 /* mbeanName */
        start local 5 // javax.management.ObjectName mbeanName
        13: .line 2393
            iconst_0
            istore 6 /* isRefedMBeanFlag */
        start local 6 // boolean isRefedMBeanFlag
        14: .line 2394
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 7
            monitorenter
        15: .line 2396
            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 23
        16: .line 2398
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfList:Ljava/util/List;
            dup
            astore 8
            monitorenter
        17: .line 2399
            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
        18: .line 2398
            aload 8
            monitorexit
        19: goto 22
      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
        20: aload 8
            monitorexit
        21: athrow
        22: .line 2401
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 6 /* isRefedMBeanFlag */
        23: .line 2403
      StackMap locals:
      StackMap stack:
            iload 6 /* isRefedMBeanFlag */
            ifeq 28
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myPurgeFlag:Z
            ifeq 28
        24: .line 2408
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.purgeRelations:()V
        25: .line 2409
            goto 28
      StackMap locals:
      StackMap stack: java.lang.Exception
        26: astore 8 /* exc */
        start local 8 // java.lang.Exception exc
        27: .line 2410
            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
        28: .line 2394
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        29: goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: aload 7
            monitorexit
        31: athrow
        32: .line 2418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelMBeanObjName2RelIdMap:Ljava/util/Map;
            dup
            astore 8
            monitorenter
        33: .line 2419
            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
        34: .line 2418
            aload 8
            monitorexit
        35: goto 38
        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
        36: aload 8
            monitorexit
        37: athrow
        start local 7 // java.lang.String relId
        38: .line 2421
      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 43
        39: .line 2429
            aload 0 /* this */
            aload 7 /* relId */
            invokevirtual javax.management.relation.RelationService.removeRelation:(Ljava/lang/String;)V
        40: .line 2430
            goto 43
      StackMap locals:
      StackMap stack: java.lang.Exception
        41: astore 8 /* exc */
        start local 8 // java.lang.Exception exc
        42: .line 2431
            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
        43: .line 2437
      StackMap locals: javax.management.relation.RelationService javax.management.Notification java.lang.Object
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        44: .line 2438
            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   45     0              this  Ljavax/management/relation/RelationService;
            0   45     1             notif  Ljavax/management/Notification;
            0   45     2          handback  Ljava/lang/Object;
            2    3     3            excMsg  Ljava/lang/String;
            6   43     3            mbsNtf  Ljavax/management/MBeanServerNotification;
            7   43     4           ntfType  Ljava/lang/String;
           13   43     5         mbeanName  Ljavax/management/ObjectName;
           14   43     6  isRefedMBeanFlag  Z
           27   28     8               exc  Ljava/lang/Exception;
           34   36     7             relId  Ljava/lang/String;
           38   43     7             relId  Ljava/lang/String;
           42   43     8               exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          17    19      20  any
          20    21      20  any
          24    25      26  Class java.lang.Exception
          15    29      30  any
          30    31      30  any
          33    35      36  any
          36    37      36  any
          39    40      41  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 2451
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 2453
            ldc "javax.management.relation.RelationNotification"
            astore 1 /* ntfClass */
        start local 1 // java.lang.String ntfClass
         2: .line 2455
            bipush 6
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 2456
            ldc "jmx.relation.creation.basic"
            aastore
            dup
            iconst_1
         4: .line 2457
            ldc "jmx.relation.creation.mbean"
            aastore
            dup
            iconst_2
         5: .line 2458
            ldc "jmx.relation.update.basic"
            aastore
            dup
            iconst_3
         6: .line 2459
            ldc "jmx.relation.update.mbean"
            aastore
            dup
            iconst_4
         7: .line 2460
            ldc "jmx.relation.removal.basic"
            aastore
            dup
            iconst_5
         8: .line 2461
            ldc "jmx.relation.removal.mbean"
            aastore
         9: .line 2455
            astore 2 /* ntfTypes */
        start local 2 // java.lang.String[] ntfTypes
        10: .line 2464
            ldc "Sent when a relation is created, updated or deleted."
            astore 3 /* ntfDesc */
        start local 3 // java.lang.String ntfDesc
        11: .line 2467
            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
        12: .line 2466
            astore 4 /* ntfInfo */
        start local 4 // javax.management.MBeanNotificationInfo ntfInfo
        13: .line 2469
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        14: .line 2470
            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   15     0      this  Ljavax/management/relation/RelationService;
            2   15     1  ntfClass  Ljava/lang/String;
           10   15     2  ntfTypes  [Ljava/lang/String;
           11   15     3   ntfDesc  Ljava/lang/String;
           13   15     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 2488
            aload 1 /* relationTypeObj */
            ifnonnull 3
         1: .line 2489
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2490
            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 2493
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         4: .line 2495
            aload 1 /* relationTypeObj */
            invokeinterface javax.management.relation.RelationType.getRelationTypeName:()Ljava/lang/String;
            astore 2 /* relTypeName */
        start local 2 // java.lang.String relTypeName
         5: .line 2501
            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
         6: .line 2503
            aload 3 /* relType */
            ifnull 12
         7: .line 2504
            ldc "There is already a relation type in the Relation Service with name "
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         8: .line 2505
            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
         9: .line 2506
            aload 5 /* excMsgStrB */
            aload 2 /* relTypeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 2507
            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
        11: .line 2510
      StackMap locals: javax.management.relation.RelationService javax.management.relation.RelationType java.lang.String
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
            pop
        12: .line 2515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
        13: .line 2516
            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
        14: .line 2515
            aload 3
            monitorexit
        15: goto 18
      StackMap locals: javax.management.relation.RelationService javax.management.relation.RelationType java.lang.String java.util.Map
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        18: .line 2519
      StackMap locals:
      StackMap stack:
            aload 1 /* relationTypeObj */
            instanceof javax.management.relation.RelationTypeSupport
            ifeq 20
        19: .line 2520
            aload 1 /* relationTypeObj */
            checkcast javax.management.relation.RelationTypeSupport
            iconst_1
            invokevirtual javax.management.relation.RelationTypeSupport.setRelationServiceFlag:(Z)V
        20: .line 2523
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        21: .line 2524
            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   22     0             this  Ljavax/management/relation/RelationService;
            0   22     1  relationTypeObj  Ljavax/management/relation/RelationType;
            2    3     2           excMsg  Ljava/lang/String;
            5   22     2      relTypeName  Ljava/lang/String;
            6   11     3          relType  Ljavax/management/relation/RelationType;
            8   11     4           excMsg  Ljava/lang/String;
            9   11     5       excMsgStrB  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           5    11      11  Class javax.management.relation.RelationTypeNotFoundException
          13    15      16  any
          16    17      16  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=7, locals=5, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationTypeName
         0: .line 2542
            aload 1 /* relationTypeName */
            ifnonnull 3
         1: .line 2543
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2544
            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 2547
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationTypeName */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 2551
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         5: .line 2552
            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
         6: .line 2551
            aload 3
            monitorexit
         7: goto 10
        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
         8: aload 3
            monitorexit
         9: athrow
        start local 2 // javax.management.relation.RelationType relType
        10: .line 2555
      StackMap locals: javax.management.relation.RelationService java.lang.String javax.management.relation.RelationType
      StackMap stack:
            aload 2 /* relType */
            ifnonnull 15
        11: .line 2556
            ldc "No relation type created in the Relation Service with the name "
            astore 3 /* excMsg */
        start local 3 // java.lang.String excMsg
        12: .line 2557
            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
        13: .line 2558
            aload 4 /* excMsgStrB */
            aload 1 /* relationTypeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        14: .line 2559
            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
        15: .line 2562
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        16: .line 2563
            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   17     0              this  Ljavax/management/relation/RelationService;
            0   17     1  relationTypeName  Ljava/lang/String;
            2    3     2            excMsg  Ljava/lang/String;
            6    8     2           relType  Ljavax/management/relation/RelationType;
           10   17     2           relType  Ljavax/management/relation/RelationType;
           12   15     3            excMsg  Ljava/lang/String;
           13   15     4        excMsgStrB  Ljava/lang/StringBuilder;
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  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=7, locals=4, args_size=2
        start local 0 // javax.management.relation.RelationService this
        start local 1 // java.lang.String relationId
         0: .line 2584
            aload 1 /* relationId */
            ifnonnull 3
         1: .line 2585
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 2586
            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 2589
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* relationId */
            aastore
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         4: .line 2593
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         5: .line 2594
            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
         6: .line 2593
            aload 3
            monitorexit
         7: goto 10
        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
         8: aload 3
            monitorexit
         9: athrow
        start local 2 // java.lang.Object rel
        10: .line 2597
      StackMap locals: javax.management.relation.RelationService java.lang.String java.lang.Object
      StackMap stack:
            aload 2 /* rel */
            ifnonnull 13
        11: .line 2598
            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
        12: .line 2599
            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
        13: .line 2602
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        14: .line 2603
            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   15     0        this  Ljavax/management/relation/RelationService;
            0   15     1  relationId  Ljava/lang/String;
            2    3     2      excMsg  Ljava/lang/String;
            6    8     2         rel  Ljava/lang/Object;
           10   15     2         rel  Ljava/lang/Object;
           12   13     3      excMsg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     7       8  any
           8     9       8  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 2625
            aload 1 /* objectName */
            ifnull 3
         1: .line 2626
            aload 2 /* relationId */
            ifnull 3
         2: .line 2627
            aload 3 /* roleName */
            ifnonnull 5
         3: .line 2628
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 2629
            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 2632
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 2633
            aload 1 /* objectName */
            aastore
            dup
            iconst_1
            aload 2 /* relationId */
            aastore
            dup
            iconst_2
            aload 3 /* roleName */
            aastore
         7: .line 2632
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 2635
            iconst_0
            istore 4 /* isNewFlag */
        start local 4 // boolean isNewFlag
         9: .line 2637
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 5
            monitorenter
        10: .line 2642
            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
        11: .line 2641
            astore 6 /* mbeanRefMap */
        start local 6 // java.util.Map mbeanRefMap
        12: .line 2644
            aload 6 /* mbeanRefMap */
            ifnonnull 20
        13: .line 2647
            iconst_1
            istore 4 /* isNewFlag */
        14: .line 2651
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* roleNames */
        start local 7 // java.util.List roleNames
        15: .line 2652
            aload 7 /* roleNames */
            aload 3 /* roleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 2655
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 6 /* mbeanRefMap */
        17: .line 2656
            aload 6 /* mbeanRefMap */
            aload 2 /* relationId */
            aload 7 /* roleNames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 2658
            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
        19: .line 2660
            goto 27
        20: .line 2664
      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
        21: .line 2666
            aload 7 /* roleNames */
            ifnonnull 26
        22: .line 2671
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* roleNames */
        23: .line 2672
            aload 7 /* roleNames */
            aload 3 /* roleName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 2675
            aload 6 /* mbeanRefMap */
            aload 2 /* relationId */
            aload 7 /* roleNames */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 2677
            goto 27
        26: .line 2681
      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
        27: .line 2637
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        28: goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 5
            monitorexit
        30: athrow
        31: .line 2686
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        32: .line 2687
            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   33     0         this  Ljavax/management/relation/RelationService;
            0   33     1   objectName  Ljavax/management/ObjectName;
            0   33     2   relationId  Ljava/lang/String;
            0   33     3     roleName  Ljava/lang/String;
            4    5     4       excMsg  Ljava/lang/String;
            9   33     4    isNewFlag  Z
           12   27     6  mbeanRefMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           15   19     7    roleNames  Ljava/util/List<Ljava/lang/String;>;
           21   27     7    roleNames  Ljava/util/List<Ljava/lang/String;>;
      Exception table:
        from    to  target  type
          10    28      29  any
          29    30      29  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 2711
            aload 1 /* objectName */
            ifnull 3
         1: .line 2712
            aload 2 /* relationId */
            ifnull 3
         2: .line 2713
            aload 3 /* roleName */
            ifnonnull 5
         3: .line 2714
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
         4: .line 2715
            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 2718
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2} {3}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 2719
            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
         7: .line 2718
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 2721
            iconst_0
            istore 5 /* noLongerRefFlag */
        start local 5 // boolean noLongerRefFlag
         9: .line 2723
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRefedMBeanObjName2RelIdsMap:Ljava/util/Map;
            dup
            astore 6
            monitorenter
        10: .line 2731
            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
        11: .line 2730
            astore 7 /* mbeanRefMap */
        start local 7 // java.util.Map mbeanRefMap
        12: .line 2733
            aload 7 /* mbeanRefMap */
            ifnonnull 16
        13: .line 2735
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        14: .line 2736
            aload 6
            monitorexit
        15: iconst_1
            ireturn
        16: .line 2739
      StackMap locals: int java.util.Map java.util.Map
      StackMap stack:
            aconst_null
            astore 8 /* roleNames */
        start local 8 // java.util.List roleNames
        17: .line 2740
            iload 4 /* allRolesFlag */
            ifne 22
        18: .line 2743
            aload 7 /* mbeanRefMap */
            aload 2 /* relationId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 8 /* roleNames */
        19: .line 2746
            aload 8 /* roleNames */
            aload 3 /* roleName */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 9 /* obsRefIdx */
        start local 9 // int obsRefIdx
        20: .line 2747
            iload 9 /* obsRefIdx */
            iconst_m1
            if_icmpeq 22
        21: .line 2748
            aload 8 /* roleNames */
            iload 9 /* obsRefIdx */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        end local 9 // int obsRefIdx
        22: .line 2754
      StackMap locals: java.util.List
      StackMap stack:
            aload 8 /* roleNames */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 23
            iload 4 /* allRolesFlag */
            ifeq 24
        23: .line 2757
      StackMap locals:
      StackMap stack:
            aload 7 /* mbeanRefMap */
            aload 2 /* relationId */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 2761
      StackMap locals:
      StackMap stack:
            aload 7 /* mbeanRefMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 27
        25: .line 2763
            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
        26: .line 2764
            iconst_1
            istore 5 /* noLongerRefFlag */
        end local 8 // java.util.List roleNames
        end local 7 // java.util.Map mbeanRefMap
        27: .line 2723
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        28: goto 31
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: aload 6
            monitorexit
        30: athrow
        31: .line 2768
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        32: .line 2769
            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   33     0             this  Ljavax/management/relation/RelationService;
            0   33     1       objectName  Ljavax/management/ObjectName;
            0   33     2       relationId  Ljava/lang/String;
            0   33     3         roleName  Ljava/lang/String;
            0   33     4     allRolesFlag  Z
            4    5     5           excMsg  Ljava/lang/String;
            9   33     5  noLongerRefFlag  Z
           12   27     7      mbeanRefMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
           17   27     8        roleNames  Ljava/util/List<Ljava/lang/String;>;
           20   22     9        obsRefIdx  I
      Exception table:
        from    to  target  type
          10    15      29  any
          16    28      29  any
          29    30      29  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 2786
            aload 1 /* newRefList */
            ifnull 3
            aload 2 /* obsoleteRefList */
            ifnull 3
         1: .line 2787
            aload 1 /* newRefList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
            aload 2 /* obsoleteRefList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
         2: .line 2789
            return
         3: .line 2793
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1}"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 2794
            aload 1 /* newRefList */
            aastore
            dup
            iconst_1
            aload 2 /* obsoleteRefList */
            aastore
         5: .line 2793
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 2797
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         7: .line 2799
            aload 1 /* newRefList */
            ifnonnull 8
            aload 2 /* obsoleteRefList */
            ifnull 38
         8: .line 2801
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* newListenerFlag */
        start local 3 // boolean newListenerFlag
         9: .line 2802
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
            ifnonnull 12
        10: .line 2804
            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;
        11: .line 2805
            iconst_1
            istore 3 /* newListenerFlag */
        12: .line 2808
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
            dup
            astore 4
            monitorenter
        13: .line 2811
            aload 1 /* newRefList */
            ifnull 18
        14: .line 2812
            aload 1 /* newRefList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 17
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter top java.util.Iterator
      StackMap stack:
        15: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 5 /* newObjName */
        start local 5 // javax.management.ObjectName newObjName
        16: .line 2813
            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
        17: .line 2812
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 2816
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter
      StackMap stack:
            aload 2 /* obsoleteRefList */
            ifnull 23
        19: .line 2818
            aload 2 /* obsoleteRefList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 22
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter top java.util.Iterator
      StackMap stack:
        20: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 5 /* obsObjName */
        start local 5 // javax.management.ObjectName obsObjName
        21: .line 2819
            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
        22: .line 2818
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        23: .line 2823
      StackMap locals: javax.management.relation.RelationService java.util.List java.util.List int javax.management.relation.MBeanServerNotificationFilter
      StackMap stack:
            iload 3 /* newListenerFlag */
            ifeq 34
        24: .line 2825
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
        25: .line 2826
            getstatic javax.management.MBeanServerDelegate.DELEGATE_NAME:Ljavax/management/ObjectName;
        26: .line 2827
            aload 0 /* this */
        27: .line 2828
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myUnregNtfFilter:Ljavax/management/relation/MBeanServerNotificationFilter;
        28: .line 2829
            aconst_null
        29: .line 2825
            invokeinterface javax.management.MBeanServer.addNotificationListener:(Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
        30: .line 2830
            goto 34
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        31: astore 5 /* exc */
        start local 5 // javax.management.InstanceNotFoundException exc
        32: .line 2832
            new javax.management.relation.RelationServiceNotRegisteredException
            dup
            aload 5 /* exc */
            invokevirtual javax.management.InstanceNotFoundException.getMessage:()Ljava/lang/String;
        33: .line 2831
            invokespecial javax.management.relation.RelationServiceNotRegisteredException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // javax.management.InstanceNotFoundException exc
        34: .line 2808
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        35: goto 38
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: aload 4
            monitorexit
        37: athrow
        end local 3 // boolean newListenerFlag
        38: .line 2878
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        39: .line 2879
            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   40     0             this  Ljavax/management/relation/RelationService;
            0   40     1       newRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   40     2  obsoleteRefList  Ljava/util/List<Ljavax/management/ObjectName;>;
            9   38     3  newListenerFlag  Z
           16   17     5       newObjName  Ljavax/management/ObjectName;
           21   22     5       obsObjName  Ljavax/management/ObjectName;
           32   34     5              exc  Ljavax/management/InstanceNotFoundException;
      Exception table:
        from    to  target  type
          24    30      31  Class javax.management.InstanceNotFoundException
          13    35      36  any
          36    37      36  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 2932
            aload 4 /* relationId */
            ifnull 8
         1: .line 2933
            aload 5 /* relationTypeName */
            ifnull 8
         2: .line 2934
            iload 1 /* relationBaseFlag */
            ifeq 5
         3: .line 2935
            aload 2 /* relationObj */
            ifnull 8
         4: .line 2936
            aload 3 /* relationObjName */
            ifnonnull 8
         5: .line 2937
      StackMap locals:
      StackMap stack:
            iload 1 /* relationBaseFlag */
            ifne 10
         6: .line 2938
            aload 3 /* relationObjName */
            ifnull 8
         7: .line 2939
            aload 2 /* relationObj */
            ifnull 10
         8: .line 2940
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 7 /* excMsg */
        start local 7 // java.lang.String excMsg
         9: .line 2941
            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 2944
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
        11: .line 2945
            ldc "ENTRY {0} {1} {2} {3} {4} {5}"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 2946
            iload 1 /* relationBaseFlag */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 2 /* relationObj */
            aastore
            dup
            iconst_2
            aload 3 /* relationObjName */
            aastore
            dup
            iconst_3
        13: .line 2947
            aload 4 /* relationId */
            aastore
            dup
            iconst_4
            aload 5 /* relationTypeName */
            aastore
            dup
            iconst_5
            aload 6 /* roleList */
            aastore
        14: .line 2944
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 2950
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
        16: .line 2955
            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
        17: .line 2957
            aload 7 /* rel */
            ifnull 23
        18: .line 2959
            ldc "There is already a relation with id "
            astore 8 /* excMsg */
        start local 8 // java.lang.String excMsg
        19: .line 2960
            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
        20: .line 2961
            aload 9 /* excMsgStrB */
            aload 4 /* relationId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 2962
            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
        22: .line 2964
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
            pop
        23: .line 2970
      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
        24: .line 2978
            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
        25: .line 2980
            aload 6 /* roleList */
            ifnull 46
        26: .line 2982
            aload 6 /* roleList */
            invokevirtual javax.management.relation.RoleList.asList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 45
      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:
        27: 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
        28: .line 2983
            aload 9 /* currRole */
            invokevirtual javax.management.relation.Role.getRoleName:()Ljava/lang/String;
            astore 11 /* currRoleName */
        start local 11 // java.lang.String currRoleName
        29: .line 2984
            aload 9 /* currRole */
            invokevirtual javax.management.relation.Role.getRoleValue:()Ljava/util/List;
            astore 12 /* currRoleValue */
        start local 12 // java.util.List currRoleValue
        30: .line 2990
            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
        31: .line 2991
            goto 34
        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
        32: astore 14 /* exc */
        start local 14 // javax.management.relation.RoleInfoNotFoundException exc
        33: .line 2992
            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
        34: .line 2996
      StackMap locals: javax.management.relation.RoleInfo
      StackMap stack:
            aload 0 /* this */
            iconst_2
        35: .line 2997
            aload 11 /* currRoleName */
        36: .line 2998
            aload 12 /* currRoleValue */
        37: .line 2999
            aload 13 /* roleInfo */
        38: .line 3000
            iconst_0
        39: .line 2996
            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
        40: .line 3001
            aload 14 /* status */
            invokevirtual java.lang.Integer.intValue:()I
            istore 15 /* pbType */
        start local 15 // int pbType
        41: .line 3002
            iload 15 /* pbType */
            ifeq 43
        42: .line 3005
            iload 15 /* pbType */
            aload 11 /* currRoleName */
            invokestatic javax.management.relation.RelationService.throwRoleProblemException:(ILjava/lang/String;)V
        43: .line 3010
      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
        44: .line 3012
            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
        45: .line 2982
      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 27
        46: .line 3018
      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 */
        47: .line 3019
            aload 2 /* relationObj */
        48: .line 3020
            aload 3 /* relationObjName */
        49: .line 3021
            aload 4 /* relationId */
        50: .line 3022
            aload 5 /* relationTypeName */
        51: .line 3023
            aload 8 /* roleInfoList */
        52: .line 3018
            invokevirtual javax.management.relation.RelationService.initializeMissingRoles:(ZLjavax/management/relation/RelationSupport;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        53: .line 3029
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2ObjMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        54: .line 3030
            iload 1 /* relationBaseFlag */
            ifeq 57
        55: .line 3032
            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
        56: .line 3033
            goto 58
        57: .line 3034
      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
        58: .line 3029
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        59: goto 62
      StackMap locals:
      StackMap stack: java.lang.Throwable
        60: aload 9
            monitorexit
        61: athrow
        62: .line 3039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        63: .line 3040
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            aload 4 /* relationId */
        64: .line 3041
            aload 5 /* relationTypeName */
        65: .line 3040
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        66: .line 3039
            aload 9
            monitorexit
        67: goto 70
      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
        68: aload 9
            monitorexit
        69: athrow
        70: .line 3045
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelType2RelIdsMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        71: .line 3047
            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
        72: .line 3046
            astore 10 /* relIdList */
        start local 10 // java.util.List relIdList
        73: .line 3048
            iconst_0
            istore 11 /* firstRelFlag */
        start local 11 // boolean firstRelFlag
        74: .line 3049
            aload 10 /* relIdList */
            ifnonnull 77
        75: .line 3050
            iconst_1
            istore 11 /* firstRelFlag */
        76: .line 3051
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* relIdList */
        77: .line 3053
      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
        78: .line 3054
            iload 11 /* firstRelFlag */
            ifeq 80
        79: .line 3055
            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
        80: .line 3045
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        81: goto 84
      StackMap locals:
      StackMap stack: java.lang.Throwable
        82: aload 9
            monitorexit
        83: athrow
        84: .line 3063
      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 90
      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:
        85: 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
        86: .line 3066
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 11 /* dummyList */
        start local 11 // java.util.List dummyList
        87: .line 3070
            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
        88: .line 3072
            goto 90
      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
        89: pop
        end local 11 // java.util.List dummyList
        end local 9 // javax.management.relation.Role currRole
        90: .line 3063
      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 85
        91: .line 3080
            aload 0 /* this */
            aload 4 /* relationId */
            invokevirtual javax.management.relation.RelationService.sendRelationCreationNotification:(Ljava/lang/String;)V
        92: .line 3082
            goto 94
      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
        93: pop
        94: .line 3086
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        95: .line 3087
            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   96     0              this  Ljavax/management/relation/RelationService;
            0   96     1  relationBaseFlag  Z
            0   96     2       relationObj  Ljavax/management/relation/RelationSupport;
            0   96     3   relationObjName  Ljavax/management/ObjectName;
            0   96     4        relationId  Ljava/lang/String;
            0   96     5  relationTypeName  Ljava/lang/String;
            0   96     6          roleList  Ljavax/management/relation/RoleList;
            9   10     7            excMsg  Ljava/lang/String;
           17   22     7               rel  Ljava/lang/Object;
           19   22     8            excMsg  Ljava/lang/String;
           20   22     9        excMsgStrB  Ljava/lang/StringBuilder;
           24   96     7           relType  Ljavax/management/relation/RelationType;
           25   96     8      roleInfoList  Ljava/util/List<Ljavax/management/relation/RoleInfo;>;
           28   45     9          currRole  Ljavax/management/relation/Role;
           29   45    11      currRoleName  Ljava/lang/String;
           30   45    12     currRoleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           31   32    13          roleInfo  Ljavax/management/relation/RoleInfo;
           34   45    13          roleInfo  Ljavax/management/relation/RoleInfo;
           33   34    14               exc  Ljavax/management/relation/RoleInfoNotFoundException;
           40   45    14            status  Ljava/lang/Integer;
           41   45    15            pbType  I
           44   45    16       roleInfoIdx  I
           73   80    10         relIdList  Ljava/util/List<Ljava/lang/String;>;
           74   80    11      firstRelFlag  Z
           86   90     9          currRole  Ljavax/management/relation/Role;
           87   90    11         dummyList  Ljava/util/List<Ljavax/management/ObjectName;>;
      Exception table:
        from    to  target  type
          16    22      22  Class javax.management.relation.RelationNotFoundException
          30    31      32  Class javax.management.relation.RoleInfoNotFoundException
          54    59      60  any
          60    61      60  any
          63    67      68  any
          68    69      68  any
          71    81      82  any
          82    83      82  any
          87    88      89  Class javax.management.relation.RelationNotFoundException
          91    92      93  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 3119
            aload 2 /* roleName */
            ifnull 3
         1: .line 3120
            aload 4 /* roleInfo */
            ifnull 3
         2: .line 3121
            iload 1 /* chkType */
            iconst_2
            if_icmpne 5
            aload 3 /* roleValue */
            ifnonnull 5
         3: .line 3122
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 6 /* excMsg */
        start local 6 // java.lang.String excMsg
         4: .line 3123
            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 3126
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2} {3} {4}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 3127
            iload 1 /* chkType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* roleName */
            aastore
            dup
            iconst_2
            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
         7: .line 3126
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 3130
            aload 4 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.getName:()Ljava/lang/String;
            astore 6 /* expName */
        start local 6 // java.lang.String expName
         9: .line 3131
            aload 2 /* roleName */
            aload 6 /* expName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
        10: .line 3132
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        11: .line 3133
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        12: .line 3137
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* chkType */
            iconst_1
            if_icmpne 19
        13: .line 3138
            aload 4 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.isReadable:()Z
            istore 7 /* isReadable */
        start local 7 // boolean isReadable
        14: .line 3139
            iload 7 /* isReadable */
            ifne 17
        15: .line 3140
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        16: .line 3141
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        17: .line 3144
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        18: .line 3145
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 7 // boolean isReadable
        19: .line 3150
      StackMap locals:
      StackMap stack:
            iload 5 /* writeChkFlag */
            ifeq 24
        20: .line 3151
            aload 4 /* roleInfo */
            invokevirtual javax.management.relation.RoleInfo.isWritable:()Z
            istore 7 /* isWritable */
        start local 7 // boolean isWritable
        21: .line 3152
            iload 7 /* isWritable */
            ifne 24
        22: .line 3153
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        23: .line 3154
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 7 // boolean isWritable
        24: .line 3158
      StackMap locals:
      StackMap stack:
            aload 3 /* roleValue */
            invokeinterface java.util.List.size:()I
            istore 7 /* refNbr */
        start local 7 // int refNbr
        25: .line 3161
            aload 4 /* roleInfo */
            iload 7 /* refNbr */
            invokevirtual javax.management.relation.RoleInfo.checkMinDegree:(I)Z
            istore 8 /* chkMinFlag */
        start local 8 // boolean chkMinFlag
        26: .line 3162
            iload 8 /* chkMinFlag */
            ifne 29
        27: .line 3163
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        28: .line 3164
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        29: .line 3168
      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
        30: .line 3169
            iload 9 /* chkMaxFlag */
            ifne 33
        31: .line 3170
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        32: .line 3171
            iconst_5
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        33: .line 3180
      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
        34: .line 3182
            aload 3 /* roleValue */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 49
      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:
        35: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.ObjectName
            astore 11 /* currObjName */
        start local 11 // javax.management.ObjectName currObjName
        36: .line 3185
            aload 11 /* currObjName */
            ifnonnull 39
        37: .line 3186
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        38: .line 3187
            bipush 7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        39: .line 3193
      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 */
        40: .line 3194
            aload 10 /* expClassName */
        41: .line 3193
            invokeinterface javax.management.MBeanServer.isInstanceOf:(Ljavax/management/ObjectName;Ljava/lang/String;)Z
            istore 13 /* classSts */
        start local 13 // boolean classSts
        42: .line 3195
            iload 13 /* classSts */
            ifne 49
        43: .line 3196
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        44: .line 3197
            bipush 6
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
        45: areturn
        end local 13 // boolean classSts
        46: .line 3200
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
            pop
        47: .line 3201
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        48: .line 3202
            bipush 7
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 11 // javax.management.ObjectName currObjName
        49: .line 3182
      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 35
        50: .line 3206
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        51: .line 3207
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            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   52     0          this  Ljavax/management/relation/RelationService;
            0   52     1       chkType  I
            0   52     2      roleName  Ljava/lang/String;
            0   52     3     roleValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   52     4      roleInfo  Ljavax/management/relation/RoleInfo;
            0   52     5  writeChkFlag  Z
            4    5     6        excMsg  Ljava/lang/String;
            9   52     6       expName  Ljava/lang/String;
           14   19     7    isReadable  Z
           21   24     7    isWritable  Z
           25   52     7        refNbr  I
           26   52     8    chkMinFlag  Z
           30   52     9    chkMaxFlag  Z
           34   52    10  expClassName  Ljava/lang/String;
           36   49    11   currObjName  Ljavax/management/ObjectName;
           42   46    13      classSts  Z
      Exception table:
        from    to  target  type
          39    45      46  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 3245
            iload 1 /* relationBaseFlag */
            ifeq 3
         1: .line 3246
            aload 2 /* relationObj */
            ifnull 9
         2: .line 3247
            aload 3 /* relationObjName */
            ifnonnull 9
         3: .line 3248
      StackMap locals:
      StackMap stack:
            iload 1 /* relationBaseFlag */
            ifne 6
         4: .line 3249
            aload 3 /* relationObjName */
            ifnull 9
         5: .line 3250
            aload 2 /* relationObj */
            ifnonnull 9
         6: .line 3251
      StackMap locals:
      StackMap stack:
            aload 4 /* relationId */
            ifnull 9
         7: .line 3252
            aload 5 /* relationTypeName */
            ifnull 9
         8: .line 3253
            aload 6 /* roleInfoList */
            ifnonnull 11
         9: .line 3254
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 7 /* excMsg */
        start local 7 // java.lang.String excMsg
        10: .line 3255
            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 3258
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2} {3} {4} {5}"
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 3259
            iload 1 /* relationBaseFlag */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aastore
            dup
            iconst_1
            aload 2 /* relationObj */
            aastore
            dup
            iconst_2
            aload 3 /* relationObjName */
            aastore
            dup
            iconst_3
        13: .line 3260
            aload 4 /* relationId */
            aastore
            dup
            iconst_4
            aload 5 /* relationTypeName */
            aastore
            dup
            iconst_5
            aload 6 /* roleInfoList */
            aastore
        14: .line 3258
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 3263
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
        16: .line 3270
            aload 6 /* roleInfoList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 51
      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:
        17: 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
        18: .line 3272
            aload 7 /* currRoleInfo */
            invokevirtual javax.management.relation.RoleInfo.getName:()Ljava/lang/String;
            astore 9 /* roleName */
        start local 9 // java.lang.String roleName
        19: .line 3275
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 10 /* emptyValue */
        start local 10 // java.util.List emptyValue
        20: .line 3277
            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
        21: .line 3279
            iload 1 /* relationBaseFlag */
            ifeq 30
        22: .line 3288
            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
        23: .line 3290
            goto 51
      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
        24: astore 12 /* exc1 */
        start local 12 // javax.management.relation.RoleNotFoundException exc1
        25: .line 3291
            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
        26: .line 3292
      StackMap locals:
      StackMap stack: javax.management.relation.RelationNotFoundException
            astore 12 /* exc2 */
        start local 12 // javax.management.relation.RelationNotFoundException exc2
        27: .line 3293
            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
        28: .line 3294
      StackMap locals:
      StackMap stack: javax.management.relation.RelationTypeNotFoundException
            astore 12 /* exc3 */
        start local 12 // javax.management.relation.RelationTypeNotFoundException exc3
        29: .line 3295
            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
        30: .line 3302
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            astore 12 /* params */
        start local 12 // java.lang.Object[] params
        31: .line 3303
            aload 12 /* params */
            iconst_0
            aload 11 /* role */
            aastore
        32: .line 3304
            iconst_1
            anewarray java.lang.String
            astore 13 /* signature */
        start local 13 // java.lang.String[] signature
        33: .line 3305
            aload 13 /* signature */
            iconst_0
            ldc "javax.management.relation.Role"
            aastore
        34: .line 3317
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 3 /* relationObjName */
        35: .line 3318
            new javax.management.Attribute
            dup
            ldc "Role"
            aload 11 /* role */
            invokespecial javax.management.Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 3317
            invokeinterface javax.management.MBeanServer.setAttribute:(Ljavax/management/ObjectName;Ljavax/management/Attribute;)V
        37: .line 3320
            goto 51
      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
        38: astore 14 /* exc1 */
        start local 14 // javax.management.InstanceNotFoundException exc1
        39: .line 3321
            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
        40: .line 3322
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 14 /* exc3 */
        start local 14 // javax.management.ReflectionException exc3
        41: .line 3323
            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
        42: .line 3324
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 14 /* exc2 */
        start local 14 // javax.management.MBeanException exc2
        43: .line 3325
            aload 14 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 15 /* wrappedExc */
        start local 15 // java.lang.Exception wrappedExc
        44: .line 3326
            aload 15 /* wrappedExc */
            instanceof javax.management.relation.InvalidRoleValueException
            ifeq 46
        45: .line 3327
            aload 15 /* wrappedExc */
            checkcast javax.management.relation.InvalidRoleValueException
            athrow
        46: .line 3329
      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
        47: .line 3331
      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
        48: .line 3332
            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
        49: .line 3333
      StackMap locals:
      StackMap stack: javax.management.InvalidAttributeValueException
            astore 14 /* exc5 */
        start local 14 // javax.management.InvalidAttributeValueException exc5
        50: .line 3334
            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
        51: .line 3270
      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 17
        52: .line 3339
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        53: .line 3340
            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   54     0              this  Ljavax/management/relation/RelationService;
            0   54     1  relationBaseFlag  Z
            0   54     2       relationObj  Ljavax/management/relation/RelationSupport;
            0   54     3   relationObjName  Ljavax/management/ObjectName;
            0   54     4        relationId  Ljava/lang/String;
            0   54     5  relationTypeName  Ljava/lang/String;
            0   54     6      roleInfoList  Ljava/util/List<Ljavax/management/relation/RoleInfo;>;
           10   11     7            excMsg  Ljava/lang/String;
           18   51     7      currRoleInfo  Ljavax/management/relation/RoleInfo;
           19   51     9          roleName  Ljava/lang/String;
           20   51    10        emptyValue  Ljava/util/List<Ljavax/management/ObjectName;>;
           21   51    11              role  Ljavax/management/relation/Role;
           25   26    12              exc1  Ljavax/management/relation/RoleNotFoundException;
           27   28    12              exc2  Ljavax/management/relation/RelationNotFoundException;
           29   30    12              exc3  Ljavax/management/relation/RelationTypeNotFoundException;
           31   51    12            params  [Ljava/lang/Object;
           33   51    13         signature  [Ljava/lang/String;
           39   40    14              exc1  Ljavax/management/InstanceNotFoundException;
           41   42    14              exc3  Ljavax/management/ReflectionException;
           43   47    14              exc2  Ljavax/management/MBeanException;
           44   47    15        wrappedExc  Ljava/lang/Exception;
           48   49    14              exc4  Ljavax/management/AttributeNotFoundException;
           50   51    14              exc5  Ljavax/management/InvalidAttributeValueException;
      Exception table:
        from    to  target  type
          22    23      24  Class javax.management.relation.RoleNotFoundException
          22    23      26  Class javax.management.relation.RelationNotFoundException
          22    23      28  Class javax.management.relation.RelationTypeNotFoundException
          34    37      38  Class javax.management.InstanceNotFoundException
          34    37      40  Class javax.management.ReflectionException
          34    37      42  Class javax.management.MBeanException
          34    37      47  Class javax.management.AttributeNotFoundException
          34    37      49  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 3364
            aload 1 /* roleName */
            ifnonnull 3
         1: .line 3365
            ldc "Invalid parameter."
            astore 2 /* excMsg */
        start local 2 // java.lang.String excMsg
         2: .line 3366
            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 3371
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* excType */
        start local 2 // int excType
         4: .line 3373
            aconst_null
            astore 3 /* excMsgPart */
        start local 3 // java.lang.String excMsgPart
         5: .line 3375
            iload 0 /* pbType */
            tableswitch { // 1 - 7
                    1: 6
                    2: 9
                    3: 12
                    4: 15
                    5: 18
                    6: 21
                    7: 24
              default: 26
          }
         6: .line 3377
      StackMap locals: int java.lang.String
      StackMap stack:
            ldc " does not exist in relation."
            astore 3 /* excMsgPart */
         7: .line 3378
            iconst_1
            istore 2 /* excType */
         8: .line 3379
            goto 26
         9: .line 3381
      StackMap locals:
      StackMap stack:
            ldc " is not readable."
            astore 3 /* excMsgPart */
        10: .line 3382
            iconst_1
            istore 2 /* excType */
        11: .line 3383
            goto 26
        12: .line 3385
      StackMap locals:
      StackMap stack:
            ldc " is not writable."
            astore 3 /* excMsgPart */
        13: .line 3386
            iconst_1
            istore 2 /* excType */
        14: .line 3387
            goto 26
        15: .line 3389
      StackMap locals:
      StackMap stack:
            ldc " has a number of MBean references less than the expected minimum degree."
            astore 3 /* excMsgPart */
        16: .line 3390
            iconst_2
            istore 2 /* excType */
        17: .line 3391
            goto 26
        18: .line 3393
      StackMap locals:
      StackMap stack:
            ldc " has a number of MBean references greater than the expected maximum degree."
            astore 3 /* excMsgPart */
        19: .line 3394
            iconst_2
            istore 2 /* excType */
        20: .line 3395
            goto 26
        21: .line 3397
      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 3398
            iconst_2
            istore 2 /* excType */
        23: .line 3399
            goto 26
        24: .line 3401
      StackMap locals:
      StackMap stack:
            ldc " has a reference to null or to an MBean not registered."
            astore 3 /* excMsgPart */
        25: .line 3402
            iconst_2
            istore 2 /* excType */
        26: .line 3407
      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 3408
            aload 4 /* excMsgStrB */
            aload 3 /* excMsgPart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 3409
            aload 4 /* excMsgStrB */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* excMsg */
        start local 5 // java.lang.String excMsg
        29: .line 3410
            iload 2 /* excType */
            iconst_1
            if_icmpne 31
        30: .line 3411
            new javax.management.relation.RoleNotFoundException
            dup
            aload 5 /* excMsg */
            invokespecial javax.management.relation.RoleNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 3413
      StackMap locals: java.lang.StringBuilder java.lang.String
      StackMap stack:
            iload 2 /* excType */
            iconst_2
            if_icmpne 33
        32: .line 3414
            new javax.management.relation.InvalidRoleValueException
            dup
            aload 5 /* excMsg */
            invokespecial javax.management.relation.InvalidRoleValueException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 3416
      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 3445
            aload 2 /* message */
            ifnull 7
         1: .line 3446
            aload 3 /* relationId */
            ifnull 7
         2: .line 3447
            iload 1 /* intNtfType */
            iconst_3
            if_icmpeq 3
            aload 4 /* unregMBeanList */
            ifnonnull 7
         3: .line 3448
      StackMap locals:
      StackMap stack:
            iload 1 /* intNtfType */
            iconst_2
            if_icmpne 9
         4: .line 3449
            aload 5 /* roleName */
            ifnull 7
         5: .line 3450
            aload 6 /* roleNewValue */
            ifnull 7
         6: .line 3451
            aload 7 /* oldValue */
            ifnonnull 9
         7: .line 3452
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 8 /* excMsg */
        start local 8 // java.lang.String excMsg
         8: .line 3453
            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 3456
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2} {3} {4} {5} {6}"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 3457
            iload 1 /* intNtfType */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 2 /* message */
            aastore
            dup
            iconst_2
            aload 3 /* relationId */
            aastore
            dup
            iconst_3
            aload 4 /* unregMBeanList */
            aastore
            dup
            iconst_4
        11: .line 3458
            aload 5 /* roleName */
            aastore
            dup
            iconst_5
            aload 6 /* roleNewValue */
            aastore
            dup
            bipush 6
            aload 7 /* oldValue */
            aastore
        12: .line 3456
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 3464
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myRelId2RelTypeMap:Ljava/util/Map;
            dup
            astore 9
            monitorenter
        14: .line 3465
            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 3464
            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 3470
      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 3472
            aconst_null
            astore 10 /* ntfType */
        start local 10 // java.lang.String ntfType
        21: .line 3473
            aload 9 /* relObjName */
            ifnull 29
        22: .line 3474
            iload 1 /* intNtfType */
            tableswitch { // 1 - 3
                    1: 23
                    2: 25
                    3: 27
              default: 28
          }
        23: .line 3476
      StackMap locals: javax.management.ObjectName java.lang.String
      StackMap stack:
            ldc "jmx.relation.creation.mbean"
            astore 10 /* ntfType */
        24: .line 3477
            goto 35
        25: .line 3479
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.update.mbean"
            astore 10 /* ntfType */
        26: .line 3480
            goto 35
        27: .line 3482
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.removal.mbean"
            astore 10 /* ntfType */
        28: .line 3485
      StackMap locals:
      StackMap stack:
            goto 35
        29: .line 3486
      StackMap locals:
      StackMap stack:
            iload 1 /* intNtfType */
            tableswitch { // 1 - 3
                    1: 30
                    2: 32
                    3: 34
              default: 35
          }
        30: .line 3488
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.creation.basic"
            astore 10 /* ntfType */
        31: .line 3489
            goto 35
        32: .line 3491
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.update.basic"
            astore 10 /* ntfType */
        33: .line 3492
            goto 35
        34: .line 3494
      StackMap locals:
      StackMap stack:
            ldc "jmx.relation.removal.basic"
            astore 10 /* ntfType */
        35: .line 3500
      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 3503
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 12 /* currDate */
        start local 12 // java.util.Date currDate
        37: .line 3504
            aload 12 /* currDate */
            invokevirtual java.util.Date.getTime:()J
            lstore 13 /* timeStamp */
        start local 13 // long timeStamp
        38: .line 3506
            aconst_null
            astore 15 /* ntf */
        start local 15 // javax.management.relation.RelationNotification ntf
        39: .line 3508
            aload 10 /* ntfType */
            ldc "jmx.relation.creation.basic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 43
        40: .line 3509
            aload 10 /* ntfType */
            ldc "jmx.relation.creation.mbean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 43
        41: .line 3510
            aload 10 /* ntfType */
            ldc "jmx.relation.removal.basic"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 43
        42: .line 3511
            aload 10 /* ntfType */
            ldc "jmx.relation.removal.mbean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        43: .line 3514
      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 3515
            aload 0 /* this */
        45: .line 3516
            aload 11 /* seqNo */
            invokevirtual java.lang.Long.longValue:()J
        46: .line 3517
            lload 13 /* timeStamp */
        47: .line 3518
            aload 2 /* message */
        48: .line 3519
            aload 3 /* relationId */
        49: .line 3520
            aload 8 /* relTypeName */
        50: .line 3521
            aload 9 /* relObjName */
        51: .line 3522
            aload 4 /* unregMBeanList */
        52: .line 3514
            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 3522
            goto 68
        54: .line 3524
      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 3526
            aload 10 /* ntfType */
            ldc "jmx.relation.update.mbean"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 68
        56: .line 3529
      StackMap locals:
      StackMap stack:
            new javax.management.relation.RelationNotification
            dup
            aload 10 /* ntfType */
        57: .line 3530
            aload 0 /* this */
        58: .line 3531
            aload 11 /* seqNo */
            invokevirtual java.lang.Long.longValue:()J
        59: .line 3532
            lload 13 /* timeStamp */
        60: .line 3533
            aload 2 /* message */
        61: .line 3534
            aload 3 /* relationId */
        62: .line 3535
            aload 8 /* relTypeName */
        63: .line 3536
            aload 9 /* relObjName */
        64: .line 3537
            aload 5 /* roleName */
        65: .line 3538
            aload 6 /* roleNewValue */
        66: .line 3539
            aload 7 /* oldValue */
        67: .line 3529
            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 3542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 15 /* ntf */
            invokevirtual javax.management.relation.RelationService.sendNotification:(Ljavax/management/Notification;)V
        69: .line 3544
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        70: .line 3545
            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   71     0            this  Ljavax/management/relation/RelationService;
            0   71     1      intNtfType  I
            0   71     2         message  Ljava/lang/String;
            0   71     3      relationId  Ljava/lang/String;
            0   71     4  unregMBeanList  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   71     5        roleName  Ljava/lang/String;
            0   71     6    roleNewValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            0   71     7        oldValue  Ljava/util/List<Ljavax/management/ObjectName;>;
            8    9     8          excMsg  Ljava/lang/String;
           15   17     8     relTypeName  Ljava/lang/String;
           19   71     8     relTypeName  Ljava/lang/String;
           20   71     9      relObjName  Ljavax/management/ObjectName;
           21   71    10         ntfType  Ljava/lang/String;
           36   71    11           seqNo  Ljava/lang/Long;
           37   71    12        currDate  Ljava/util/Date;
           38   71    13       timeStamp  J
           39   71    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 3574
            aload 1 /* relationId */
            ifnull 3
         1: .line 3575
            aload 3 /* roleNameList */
            ifnull 3
         2: .line 3576
            aload 2 /* objectName */
            ifnonnull 5
         3: .line 3577
      StackMap locals:
      StackMap stack:
            ldc "Invalid parameter."
            astore 4 /* excMsg */
        start local 4 // java.lang.String excMsg
         4: .line 3578
            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 3581
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.RELATION_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "ENTRY {0} {1} {2}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 3582
            aload 1 /* relationId */
            aastore
            dup
            iconst_1
            aload 2 /* objectName */
            aastore
            dup
            iconst_2
            aload 3 /* roleNameList */
            aastore
         7: .line 3581
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 3585
            aload 0 /* this */
            invokevirtual javax.management.relation.RelationService.isActive:()V
         9: .line 3589
            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
        10: .line 3593
            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
        11: .line 3596
            iconst_0
            istore 6 /* deleteRelFlag */
        start local 6 // boolean deleteRelFlag
        12: .line 3598
            aload 3 /* roleNameList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 30
      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:
        13: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* currRoleName */
        start local 7 // java.lang.String currRoleName
        14: .line 3600
            iload 6 /* deleteRelFlag */
            ifeq 16
        15: .line 3601
            goto 31
        16: .line 3610
      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
        17: .line 3609
            istore 9 /* currRoleRefNbr */
        start local 9 // int currRoleRefNbr
        18: .line 3613
            iload 9 /* currRoleRefNbr */
            iconst_1
            isub
            istore 10 /* currRoleNewRefNbr */
        start local 10 // int currRoleNewRefNbr
        19: .line 3621
            aload 0 /* this */
            aload 4 /* currRelTypeName */
        20: .line 3622
            aload 7 /* currRoleName */
        21: .line 3621
            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
        22: .line 3623
            goto 27
        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
        23: astore 12 /* exc1 */
        start local 12 // javax.management.relation.RelationTypeNotFoundException exc1
        24: .line 3624
            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
        25: .line 3625
      StackMap locals:
      StackMap stack: javax.management.relation.RoleInfoNotFoundException
            astore 12 /* exc2 */
        start local 12 // javax.management.relation.RoleInfoNotFoundException exc2
        26: .line 3626
            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
        27: .line 3630
      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
        28: .line 3632
            iload 12 /* chkMinFlag */
            ifne 30
        29: .line 3634
            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
        30: .line 3598
      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 13
        31: .line 3638
      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 34
        32: .line 3640
            aload 0 /* this */
            aload 1 /* relationId */
            invokevirtual javax.management.relation.RelationService.removeRelation:(Ljava/lang/String;)V
        33: .line 3642
            goto 68
        34: .line 3655
      StackMap locals:
      StackMap stack:
            aload 3 /* roleNameList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 67
      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:
        35: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* currRoleName */
        start local 7 // java.lang.String currRoleName
        36: .line 3657
            aload 5 /* relObj */
            instanceof javax.management.relation.RelationSupport
            ifeq 48
        37: .line 3667
            aload 5 /* relObj */
            checkcast javax.management.relation.RelationSupport
        38: .line 3668
            aload 2 /* objectName */
        39: .line 3669
            aload 7 /* currRoleName */
        40: .line 3670
            iconst_1
        41: .line 3671
            aload 0 /* this */
        42: .line 3667
            invokevirtual javax.management.relation.RelationSupport.handleMBeanUnregistrationInt:(Ljavax/management/ObjectName;Ljava/lang/String;ZLjavax/management/relation/RelationService;)V
        43: .line 3672
            goto 67
      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
        44: astore 9 /* exc3 */
        start local 9 // javax.management.relation.RelationTypeNotFoundException exc3
        45: .line 3673
            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
        46: .line 3674
      StackMap locals:
      StackMap stack: javax.management.relation.InvalidRoleValueException
            astore 9 /* exc4 */
        start local 9 // javax.management.relation.InvalidRoleValueException exc4
        47: .line 3675
            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
        48: .line 3680
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.Object
            astore 9 /* params */
        start local 9 // java.lang.Object[] params
        49: .line 3681
            aload 9 /* params */
            iconst_0
            aload 2 /* objectName */
            aastore
        50: .line 3682
            aload 9 /* params */
            iconst_1
            aload 7 /* currRoleName */
            aastore
        51: .line 3683
            iconst_2
            anewarray java.lang.String
            astore 10 /* signature */
        start local 10 // java.lang.String[] signature
        52: .line 3684
            aload 10 /* signature */
            iconst_0
            ldc "javax.management.ObjectName"
            aastore
        53: .line 3685
            aload 10 /* signature */
            iconst_1
            ldc "java.lang.String"
            aastore
        54: .line 3691
            aload 0 /* this */
            getfield javax.management.relation.RelationService.myMBeanServer:Ljavax/management/MBeanServer;
            aload 5 /* relObj */
            checkcast javax.management.ObjectName
        55: .line 3692
            ldc "handleMBeanUnregistration"
        56: .line 3693
            aload 9 /* params */
        57: .line 3694
            aload 10 /* signature */
        58: .line 3691
            invokeinterface javax.management.MBeanServer.invoke:(Ljavax/management/ObjectName;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
            pop
        59: .line 3695
            goto 67
      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
        60: astore 11 /* exc1 */
        start local 11 // javax.management.InstanceNotFoundException exc1
        61: .line 3696
            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
        62: .line 3697
      StackMap locals:
      StackMap stack: javax.management.ReflectionException
            astore 11 /* exc3 */
        start local 11 // javax.management.ReflectionException exc3
        63: .line 3698
            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
        64: .line 3699
      StackMap locals:
      StackMap stack: javax.management.MBeanException
            astore 11 /* exc2 */
        start local 11 // javax.management.MBeanException exc2
        65: .line 3700
            aload 11 /* exc2 */
            invokevirtual javax.management.MBeanException.getTargetException:()Ljava/lang/Exception;
            astore 12 /* wrappedExc */
        start local 12 // java.lang.Exception wrappedExc
        66: .line 3701
            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
        67: .line 3655
      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 35
        68: .line 3708
      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/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "RETURN"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        69: .line 3709
            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   70     0               this  Ljavax/management/relation/RelationService;
            0   70     1         relationId  Ljava/lang/String;
            0   70     2         objectName  Ljavax/management/ObjectName;
            0   70     3       roleNameList  Ljava/util/List<Ljava/lang/String;>;
            4    5     4             excMsg  Ljava/lang/String;
           10   70     4    currRelTypeName  Ljava/lang/String;
           11   70     5             relObj  Ljava/lang/Object;
           12   70     6      deleteRelFlag  Z
           14   30     7       currRoleName  Ljava/lang/String;
           18   30     9     currRoleRefNbr  I
           19   30    10  currRoleNewRefNbr  I
           22   23    11       currRoleInfo  Ljavax/management/relation/RoleInfo;
           27   30    11       currRoleInfo  Ljavax/management/relation/RoleInfo;
           24   25    12               exc1  Ljavax/management/relation/RelationTypeNotFoundException;
           26   27    12               exc2  Ljavax/management/relation/RoleInfoNotFoundException;
           28   30    12         chkMinFlag  Z
           36   67     7       currRoleName  Ljava/lang/String;
           45   46     9               exc3  Ljavax/management/relation/RelationTypeNotFoundException;
           47   48     9               exc4  Ljavax/management/relation/InvalidRoleValueException;
           49   67     9             params  [Ljava/lang/Object;
           52   67    10          signature  [Ljava/lang/String;
           61   62    11               exc1  Ljavax/management/InstanceNotFoundException;
           63   64    11               exc3  Ljavax/management/ReflectionException;
           65   67    11               exc2  Ljavax/management/MBeanException;
           66   67    12         wrappedExc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          19    22      23  Class javax.management.relation.RelationTypeNotFoundException
          19    22      25  Class javax.management.relation.RoleInfoNotFoundException
          37    43      44  Class javax.management.relation.RelationTypeNotFoundException
          37    43      46  Class javax.management.relation.InvalidRoleValueException
          54    59      60  Class javax.management.InstanceNotFoundException
          54    59      62  Class javax.management.ReflectionException
          54    59      64  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 Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
  public abstract Entry = java.util.Map$Entry of java.util.Map