class javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin extends com.sun.jmx.remote.internal.ClientCommunicatorAdmin
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin
  super_class: com.sun.jmx.remote.internal.ClientCommunicatorAdmin
{
  final javax.management.remote.rmi.RMIConnector this$0;
    descriptor: Ljavax/management/remote/rmi/RMIConnector;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(javax.management.remote.rmi.RMIConnector, long);
    descriptor: (Ljavax/management/remote/rmi/RMIConnector;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
        start local 2 // long period
         0: .line 1489
            aload 0 /* this */
            aload 1
            putfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
         1: .line 1490
            aload 0 /* this */
            lload 2 /* period */
            invokespecial com.sun.jmx.remote.internal.ClientCommunicatorAdmin.<init>:(J)V
         2: .line 1491
            return
        end local 2 // long period
        end local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljavax/management/remote/rmi/RMIConnector$RMIClientCommunicatorAdmin;
            0    3     2  period  J
    MethodParameters:
        Name  Flags
      this$0  final
      period  

  public void gotIOException(java.io.IOException);
    descriptor: (Ljava/io/IOException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=4, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
        start local 1 // java.io.IOException ioe
         0: .line 1495
            aload 1 /* ioe */
            instanceof java.rmi.NoSuchObjectException
            ifeq 3
         1: .line 1497
            aload 0 /* this */
            aload 1 /* ioe */
            invokespecial com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
         2: .line 1499
            return
         3: .line 1504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
            aconst_null
            invokeinterface javax.management.remote.rmi.RMIConnection.getDefaultDomain:(Ljavax/security/auth/Subject;)Ljava/lang/String;
            pop
         4: .line 1505
            goto 29
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 1506
            iconst_0
            istore 2 /* toClose */
        start local 2 // boolean toClose
         7: .line 1508
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         8: .line 1509
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.terminated:Z
            ifne 11
         9: .line 1510
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            iconst_1
            putfield javax.management.remote.rmi.RMIConnector.terminated:Z
        10: .line 1512
            iconst_1
            istore 2 /* toClose */
        11: .line 1508
      StackMap locals: int javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin
      StackMap stack:
            aload 3
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 3
            monitorexit
        14: athrow
        15: .line 1516
      StackMap locals:
      StackMap stack:
            iload 2 /* toClose */
            ifeq 29
        16: .line 1520
            new javax.management.remote.JMXConnectionNotification
            dup
        17: .line 1521
            ldc "jmx.remote.connection.failed"
        18: .line 1522
            aload 0 /* this */
        19: .line 1523
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
        20: .line 1524
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            dup
            getfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
            dup2_x1
            lconst_1
            ladd
            putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
        21: .line 1525
            new java.lang.StringBuilder
            dup
            ldc "Failed to communicate with the server: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ioe */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1526
            aload 1 /* ioe */
        23: .line 1520
            invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
        24: .line 1519
            astore 3 /* failedNotif */
        start local 3 // javax.management.Notification failedNotif
        25: .line 1528
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            aload 3 /* failedNotif */
            invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
        26: .line 1531
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            iconst_1
            invokevirtual javax.management.remote.rmi.RMIConnector.close:(Z)V
        27: .line 1532
            goto 29
      StackMap locals: javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin java.io.IOException int javax.management.Notification
      StackMap stack: java.lang.Exception
        28: pop
        end local 3 // javax.management.Notification failedNotif
        end local 2 // boolean toClose
        29: .line 1540
      StackMap locals:
      StackMap stack:
            aload 1 /* ioe */
            instanceof java.rmi.ServerException
            ifeq 35
        30: .line 1550
            aload 1 /* ioe */
            checkcast java.rmi.ServerException
            getfield java.rmi.ServerException.detail:Ljava/lang/Throwable;
            astore 2 /* tt */
        start local 2 // java.lang.Throwable tt
        31: .line 1552
            aload 2 /* tt */
            instanceof java.io.IOException
            ifeq 33
        32: .line 1553
            aload 2 /* tt */
            checkcast java.io.IOException
            athrow
        33: .line 1554
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* tt */
            instanceof java.lang.RuntimeException
            ifeq 35
        34: .line 1555
            aload 2 /* tt */
            checkcast java.lang.RuntimeException
            athrow
        end local 2 // java.lang.Throwable tt
        35: .line 1559
      StackMap locals:
      StackMap stack:
            aload 1 /* ioe */
            athrow
        end local 1 // java.io.IOException ioe
        end local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0         this  Ljavax/management/remote/rmi/RMIConnector$RMIClientCommunicatorAdmin;
            0   36     1          ioe  Ljava/io/IOException;
            7   29     2      toClose  Z
           25   29     3  failedNotif  Ljavax/management/Notification;
           31   35     2           tt  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
           8    12      13  any
          13    14      13  any
          26    27      28  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      ioe   

  public void reconnectNotificationListeners(com.sun.jmx.remote.internal.ClientListenerInfo[]);
    descriptor: ([Lcom/sun/jmx/remote/internal/ClientListenerInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=13, args_size=2
        start local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
        start local 1 // com.sun.jmx.remote.internal.ClientListenerInfo[] old
         0: .line 1563
            aload 1 /* old */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 1566
            iload 2 /* len */
            anewarray com.sun.jmx.remote.internal.ClientListenerInfo
            astore 4 /* clis */
        start local 4 // com.sun.jmx.remote.internal.ClientListenerInfo[] clis
         2: .line 1568
            iload 2 /* len */
            anewarray javax.security.auth.Subject
            astore 5 /* subjects */
        start local 5 // javax.security.auth.Subject[] subjects
         3: .line 1569
            iload 2 /* len */
            anewarray javax.management.ObjectName
            astore 6 /* names */
        start local 6 // javax.management.ObjectName[] names
         4: .line 1570
            iload 2 /* len */
            anewarray javax.management.NotificationListener
            astore 7 /* listeners */
        start local 7 // javax.management.NotificationListener[] listeners
         5: .line 1571
            iload 2 /* len */
            anewarray javax.management.NotificationFilter
            astore 8 /* filters */
        start local 8 // javax.management.NotificationFilter[] filters
         6: .line 1573
            iload 2 /* len */
            anewarray java.rmi.MarshalledObject
            invokestatic javax.management.remote.rmi.RMIConnector$Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.MarshalledObject[]
         7: .line 1572
            astore 9 /* mFilters */
        start local 9 // java.rmi.MarshalledObject[] mFilters
         8: .line 1574
            iload 2 /* len */
            anewarray java.lang.Object
            astore 10 /* handbacks */
        start local 10 // java.lang.Object[] handbacks
         9: .line 1576
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 18
        11: .line 1577
      StackMap locals: javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin com.sun.jmx.remote.internal.ClientListenerInfo[] int int com.sun.jmx.remote.internal.ClientListenerInfo[] javax.security.auth.Subject[] javax.management.ObjectName[] javax.management.NotificationListener[] javax.management.NotificationFilter[] java.rmi.MarshalledObject[] java.lang.Object[]
      StackMap stack:
            aload 5 /* subjects */
            iload 3 /* i */
            aload 1 /* old */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.jmx.remote.internal.ClientListenerInfo.getDelegationSubject:()Ljavax/security/auth/Subject;
            aastore
        12: .line 1578
            aload 6 /* names */
            iload 3 /* i */
            aload 1 /* old */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.jmx.remote.internal.ClientListenerInfo.getObjectName:()Ljavax/management/ObjectName;
            aastore
        13: .line 1579
            aload 7 /* listeners */
            iload 3 /* i */
            aload 1 /* old */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.jmx.remote.internal.ClientListenerInfo.getListener:()Ljavax/management/NotificationListener;
            aastore
        14: .line 1580
            aload 8 /* filters */
            iload 3 /* i */
            aload 1 /* old */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.jmx.remote.internal.ClientListenerInfo.getNotificationFilter:()Ljavax/management/NotificationFilter;
            aastore
        15: .line 1581
            aload 9 /* mFilters */
            iload 3 /* i */
            new java.rmi.MarshalledObject
            dup
            aload 8 /* filters */
            iload 3 /* i */
            aaload
            invokespecial java.rmi.MarshalledObject.<init>:(Ljava/lang/Object;)V
            aastore
        16: .line 1582
            aload 10 /* handbacks */
            iload 3 /* i */
            aload 1 /* old */
            iload 3 /* i */
            aaload
            invokevirtual com.sun.jmx.remote.internal.ClientListenerInfo.getHandback:()Ljava/lang/Object;
            aastore
        17: .line 1576
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 11
        19: .line 1586
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            aload 6 /* names */
            aload 9 /* mFilters */
            aload 5 /* subjects */
            iconst_0
            invokevirtual javax.management.remote.rmi.RMIConnector.addListenersWithSubjects:([Ljavax/management/ObjectName;[Ljava/rmi/MarshalledObject;[Ljavax/security/auth/Subject;Z)[Ljava/lang/Integer;
            astore 11 /* ids */
        start local 11 // java.lang.Integer[] ids
        20: .line 1588
            iconst_0
            istore 3 /* i */
            goto 29
        21: .line 1589
      StackMap locals: java.lang.Integer[]
      StackMap stack:
            aload 4 /* clis */
            iload 3 /* i */
            new com.sun.jmx.remote.internal.ClientListenerInfo
            dup
            aload 11 /* ids */
            iload 3 /* i */
            aaload
        22: .line 1590
            aload 6 /* names */
            iload 3 /* i */
            aaload
        23: .line 1591
            aload 7 /* listeners */
            iload 3 /* i */
            aaload
        24: .line 1592
            aload 8 /* filters */
            iload 3 /* i */
            aaload
        25: .line 1593
            aload 10 /* handbacks */
            iload 3 /* i */
            aaload
        26: .line 1594
            aload 5 /* subjects */
            iload 3 /* i */
            aaload
            invokespecial com.sun.jmx.remote.internal.ClientListenerInfo.<init>:(Ljava/lang/Integer;Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;Ljavax/security/auth/Subject;)V
        27: .line 1589
            aastore
        28: .line 1588
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 21
        30: .line 1597
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
            aload 4 /* clis */
            invokevirtual javax.management.remote.rmi.RMIConnector$RMINotifClient.postReconnection:([Lcom/sun/jmx/remote/internal/ClientListenerInfo;)V
        31: .line 1599
            return
        end local 11 // java.lang.Integer[] ids
        32: .line 1600
      StackMap locals: javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin com.sun.jmx.remote.internal.ClientListenerInfo[] int int com.sun.jmx.remote.internal.ClientListenerInfo[] javax.security.auth.Subject[] javax.management.ObjectName[] javax.management.NotificationListener[] javax.management.NotificationFilter[] java.rmi.MarshalledObject[] java.lang.Object[]
      StackMap stack: javax.management.InstanceNotFoundException
            pop
        33: .line 1604
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        34: .line 1605
            iconst_0
            istore 3 /* i */
            goto 55
        35: .line 1607
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            aload 6 /* names */
            iload 3 /* i */
            aaload
        36: .line 1608
            new java.rmi.MarshalledObject
            dup
            aload 8 /* filters */
            iload 3 /* i */
            aaload
            invokespecial java.rmi.MarshalledObject.<init>:(Ljava/lang/Object;)V
        37: .line 1609
            aload 5 /* subjects */
            iload 3 /* i */
            aaload
        38: .line 1610
            iconst_0
        39: .line 1607
            invokevirtual javax.management.remote.rmi.RMIConnector.addListenerWithSubject:(Ljavax/management/ObjectName;Ljava/rmi/MarshalledObject;Ljavax/security/auth/Subject;Z)Ljava/lang/Integer;
            astore 12 /* id */
        start local 12 // java.lang.Integer id
        40: .line 1612
            aload 4 /* clis */
            iload 11 /* j */
            iinc 11 /* j */ 1
            new com.sun.jmx.remote.internal.ClientListenerInfo
            dup
            aload 12 /* id */
        41: .line 1613
            aload 6 /* names */
            iload 3 /* i */
            aaload
        42: .line 1614
            aload 7 /* listeners */
            iload 3 /* i */
            aaload
        43: .line 1615
            aload 8 /* filters */
            iload 3 /* i */
            aaload
        44: .line 1616
            aload 10 /* handbacks */
            iload 3 /* i */
            aaload
        45: .line 1617
            aload 5 /* subjects */
            iload 3 /* i */
            aaload
            invokespecial com.sun.jmx.remote.internal.ClientListenerInfo.<init>:(Ljava/lang/Integer;Ljavax/management/ObjectName;Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;Ljavax/security/auth/Subject;)V
        46: .line 1612
            aastore
        end local 12 // java.lang.Integer id
        47: .line 1618
            goto 54
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        48: pop
        49: .line 1619
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "reconnectNotificationListeners"
        50: .line 1620
            new java.lang.StringBuilder
            dup
            ldc "Can't reconnect listener for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        51: .line 1621
            aload 6 /* names */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        52: .line 1620
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 1619
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        54: .line 1605
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 35
        56: .line 1625
            iload 11 /* j */
            iload 2 /* len */
            if_icmpeq 60
        57: .line 1626
            aload 4 /* clis */
            astore 12 /* tmp */
        start local 12 // com.sun.jmx.remote.internal.ClientListenerInfo[] tmp
        58: .line 1627
            iload 11 /* j */
            anewarray com.sun.jmx.remote.internal.ClientListenerInfo
            astore 4 /* clis */
        59: .line 1628
            aload 12 /* tmp */
            iconst_0
            aload 4 /* clis */
            iconst_0
            iload 11 /* j */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 12 // com.sun.jmx.remote.internal.ClientListenerInfo[] tmp
        60: .line 1631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
            aload 4 /* clis */
            invokevirtual javax.management.remote.rmi.RMIConnector$RMINotifClient.postReconnection:([Lcom/sun/jmx/remote/internal/ClientListenerInfo;)V
        61: .line 1632
            return
        end local 11 // int j
        end local 10 // java.lang.Object[] handbacks
        end local 9 // java.rmi.MarshalledObject[] mFilters
        end local 8 // javax.management.NotificationFilter[] filters
        end local 7 // javax.management.NotificationListener[] listeners
        end local 6 // javax.management.ObjectName[] names
        end local 5 // javax.security.auth.Subject[] subjects
        end local 4 // com.sun.jmx.remote.internal.ClientListenerInfo[] clis
        end local 3 // int i
        end local 2 // int len
        end local 1 // com.sun.jmx.remote.internal.ClientListenerInfo[] old
        end local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   62     0       this  Ljavax/management/remote/rmi/RMIConnector$RMIClientCommunicatorAdmin;
            0   62     1        old  [Lcom/sun/jmx/remote/internal/ClientListenerInfo;
            1   62     2        len  I
           10   62     3          i  I
            2   62     4       clis  [Lcom/sun/jmx/remote/internal/ClientListenerInfo;
            3   62     5   subjects  [Ljavax/security/auth/Subject;
            4   62     6      names  [Ljavax/management/ObjectName;
            5   62     7  listeners  [Ljavax/management/NotificationListener;
            6   62     8    filters  [Ljavax/management/NotificationFilter;
            8   62     9   mFilters  [Ljava/rmi/MarshalledObject;
            9   62    10  handbacks  [Ljava/lang/Object;
           20   32    11        ids  [Ljava/lang/Integer;
           34   62    11          j  I
           40   47    12         id  Ljava/lang/Integer;
           58   60    12        tmp  [Lcom/sun/jmx/remote/internal/ClientListenerInfo;
      Exception table:
        from    to  target  type
          19    31      32  Class javax.management.InstanceNotFoundException
          35    47      48  Class javax.management.InstanceNotFoundException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      old   

  protected void checkConnection();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
         0: .line 1635
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debugOn:()Z
            ifeq 4
         1: .line 1636
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "RMIClientCommunicatorAdmin-checkConnection"
         2: .line 1637
            ldc "Calling the method getDefaultDomain."
         3: .line 1636
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
            aconst_null
            invokeinterface javax.management.remote.rmi.RMIConnection.getDefaultDomain:(Ljavax/security/auth/Subject;)Ljava/lang/String;
            pop
         5: .line 1640
            return
        end local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavax/management/remote/rmi/RMIConnector$RMIClientCommunicatorAdmin;
    Exceptions:
      throws java.io.IOException

  protected void doStart();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=12, locals=5, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
         0: .line 1646
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            ifnull 1
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.rmiServer:Ljavax/management/remote/rmi/RMIServer;
            goto 2
         1: .line 1647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.jmxServiceURL:Ljavax/management/remote/JMXServiceURL;
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
            invokevirtual javax.management.remote.rmi.RMIConnector.findRMIServer:(Ljavax/management/remote/JMXServiceURL;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
         2: .line 1646
      StackMap locals:
      StackMap stack: javax.management.remote.rmi.RMIServer
            astore 1 /* stub */
        start local 1 // javax.management.remote.rmi.RMIServer stub
         3: .line 1648
            goto 6
        end local 1 // javax.management.remote.rmi.RMIServer stub
      StackMap locals:
      StackMap stack: javax.naming.NamingException
         4: astore 2 /* ne */
        start local 2 // javax.naming.NamingException ne
         5: .line 1649
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to get a RMI stub: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ne */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // javax.naming.NamingException ne
        start local 1 // javax.management.remote.rmi.RMIServer stub
         6: .line 1653
      StackMap locals: javax.management.remote.rmi.RMIServer
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.env:Ljava/util/Map;
            ldc "jmx.remote.credentials"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* credentials */
        start local 2 // java.lang.Object credentials
         7: .line 1654
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            aload 1 /* stub */
            aload 2 /* credentials */
            invokeinterface javax.management.remote.rmi.RMIServer.newClient:(Ljava/lang/Object;)Ljavax/management/remote/rmi/RMIConnection;
            putfield javax.management.remote.rmi.RMIConnector.connection:Ljavax/management/remote/rmi/RMIConnection;
         8: .line 1657
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.rmiNotifClient:Ljavax/management/remote/rmi/RMIConnector$RMINotifClient;
            invokevirtual javax.management.remote.rmi.RMIConnector$RMINotifClient.preReconnection:()[Lcom/sun/jmx/remote/internal/ClientListenerInfo;
            astore 3 /* old */
        start local 3 // com.sun.jmx.remote.internal.ClientListenerInfo[] old
         9: .line 1659
            aload 0 /* this */
            aload 3 /* old */
            invokevirtual javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.reconnectNotificationListeners:([Lcom/sun/jmx/remote/internal/ClientListenerInfo;)V
        10: .line 1661
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            invokevirtual javax.management.remote.rmi.RMIConnector.getConnectionId:()Ljava/lang/String;
            putfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
        11: .line 1664
            new javax.management.remote.JMXConnectionNotification
            dup
            ldc "jmx.remote.connection.opened"
        12: .line 1665
            aload 0 /* this */
        13: .line 1666
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            getfield javax.management.remote.rmi.RMIConnector.connectionId:Ljava/lang/String;
        14: .line 1667
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            dup
            getfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
            dup2_x1
            lconst_1
            ladd
            putfield javax.management.remote.rmi.RMIConnector.clientNotifSeqNo:J
        15: .line 1668
            ldc "Reconnected to server"
        16: .line 1669
            aconst_null
        17: .line 1664
            invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
        18: .line 1663
            astore 4 /* reconnectedNotif */
        start local 4 // javax.management.Notification reconnectedNotif
        19: .line 1670
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            aload 4 /* reconnectedNotif */
            invokevirtual javax.management.remote.rmi.RMIConnector.sendNotification:(Ljavax/management/Notification;)V
        20: .line 1672
            return
        end local 4 // javax.management.Notification reconnectedNotif
        end local 3 // com.sun.jmx.remote.internal.ClientListenerInfo[] old
        end local 2 // java.lang.Object credentials
        end local 1 // javax.management.remote.rmi.RMIServer stub
        end local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   21     0              this  Ljavax/management/remote/rmi/RMIConnector$RMIClientCommunicatorAdmin;
            3    4     1              stub  Ljavax/management/remote/rmi/RMIServer;
            6   21     1              stub  Ljavax/management/remote/rmi/RMIServer;
            5    6     2                ne  Ljavax/naming/NamingException;
            7   21     2       credentials  Ljava/lang/Object;
            9   21     3               old  [Lcom/sun/jmx/remote/internal/ClientListenerInfo;
           19   21     4  reconnectedNotif  Ljavax/management/Notification;
      Exception table:
        from    to  target  type
           0     3       4  Class javax.naming.NamingException
    Exceptions:
      throws java.io.IOException

  protected void doStop();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
         0: .line 1676
            aload 0 /* this */
            getfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
            invokevirtual javax.management.remote.rmi.RMIConnector.close:()V
         1: .line 1677
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
         3: .line 1678
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "RMIClientCommunicatorAdmin-doStop"
         4: .line 1679
            new java.lang.StringBuilder
            dup
            ldc "Failed to call the method close():"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ioe */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1678
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 1680
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "RMIClientCommunicatorAdmin-doStop"
            aload 1 /* ioe */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException ioe
         7: .line 1682
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavax/management/remote/rmi/RMIConnector$RMIClientCommunicatorAdmin;
            3    7     1   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
}
SourceFile: "RMIConnector.java"
NestHost: javax.management.remote.rmi.RMIConnector
InnerClasses:
  private RMIClientCommunicatorAdmin = javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin of javax.management.remote.rmi.RMIConnector
  private RMINotifClient = javax.management.remote.rmi.RMIConnector$RMINotifClient of javax.management.remote.rmi.RMIConnector
  final Util = javax.management.remote.rmi.RMIConnector$Util of javax.management.remote.rmi.RMIConnector