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 1492
            aload 0 /* this */
            aload 1
            putfield javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.this$0:Ljavax/management/remote/rmi/RMIConnector;
         1: .line 1493
            aload 0 /* this */
            lload 2 /* period */
            invokespecial com.sun.jmx.remote.internal.ClientCommunicatorAdmin.<init>:(J)V
         2: .line 1494
            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 1498
            aload 1 /* ioe */
            instanceof java.rmi.NoSuchObjectException
            ifeq 3
         1: .line 1500
            aload 0 /* this */
            aload 1 /* ioe */
            invokespecial com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException:(Ljava/io/IOException;)V
         2: .line 1502
            return
         3: .line 1507
      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 1508
            goto 29
      StackMap locals:
      StackMap stack: java.io.IOException
         5: pop
         6: .line 1509
            iconst_0
            istore 2 /* toClose */
        start local 2 // boolean toClose
         7: .line 1511
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         8: .line 1512
            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 1513
            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 1515
            iconst_1
            istore 2 /* toClose */
        11: .line 1511
      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 1519
      StackMap locals:
      StackMap stack:
            iload 2 /* toClose */
            ifeq 29
        16: .line 1523
            new javax.management.remote.JMXConnectionNotification
            dup
        17: .line 1524
            ldc "jmx.remote.connection.failed"
        18: .line 1525
            aload 0 /* this */
        19: .line 1526
            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 1527
            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 1528
            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 1529
            aload 1 /* ioe */
        23: .line 1523
            invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
        24: .line 1522
            astore 3 /* failedNotif */
        start local 3 // javax.management.Notification failedNotif
        25: .line 1531
            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 1534
            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 1535
            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 1543
      StackMap locals:
      StackMap stack:
            aload 1 /* ioe */
            instanceof java.rmi.ServerException
            ifeq 35
        30: .line 1553
            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 1555
            aload 2 /* tt */
            instanceof java.io.IOException
            ifeq 33
        32: .line 1556
            aload 2 /* tt */
            checkcast java.io.IOException
            athrow
        33: .line 1557
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* tt */
            instanceof java.lang.RuntimeException
            ifeq 35
        34: .line 1558
            aload 2 /* tt */
            checkcast java.lang.RuntimeException
            athrow
        end local 2 // java.lang.Throwable tt
        35: .line 1562
      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 1566
            aload 1 /* old */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         1: .line 1569
            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 1571
            iload 2 /* len */
            anewarray javax.security.auth.Subject
            astore 5 /* subjects */
        start local 5 // javax.security.auth.Subject[] subjects
         3: .line 1572
            iload 2 /* len */
            anewarray javax.management.ObjectName
            astore 6 /* names */
        start local 6 // javax.management.ObjectName[] names
         4: .line 1573
            iload 2 /* len */
            anewarray javax.management.NotificationListener
            astore 7 /* listeners */
        start local 7 // javax.management.NotificationListener[] listeners
         5: .line 1574
            iload 2 /* len */
            anewarray javax.management.NotificationFilter
            astore 8 /* filters */
        start local 8 // javax.management.NotificationFilter[] filters
         6: .line 1576
            iload 2 /* len */
            anewarray java.rmi.MarshalledObject
            invokestatic com.sun.jmx.mbeanserver.Util.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.rmi.MarshalledObject[]
         7: .line 1575
            astore 9 /* mFilters */
        start local 9 // java.rmi.MarshalledObject[] mFilters
         8: .line 1577
            iload 2 /* len */
            anewarray java.lang.Object
            astore 10 /* handbacks */
        start local 10 // java.lang.Object[] handbacks
         9: .line 1579
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 18
        11: .line 1580
      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 1581
            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 1582
            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 1583
            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 1584
            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 1585
            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 1579
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 11
        19: .line 1589
            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 1591
            iconst_0
            istore 3 /* i */
            goto 29
        21: .line 1592
      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 1593
            aload 6 /* names */
            iload 3 /* i */
            aaload
        23: .line 1594
            aload 7 /* listeners */
            iload 3 /* i */
            aaload
        24: .line 1595
            aload 8 /* filters */
            iload 3 /* i */
            aaload
        25: .line 1596
            aload 10 /* handbacks */
            iload 3 /* i */
            aaload
        26: .line 1597
            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 1592
            aastore
        28: .line 1591
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 21
        30: .line 1600
            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 1602
            return
        end local 11 // java.lang.Integer[] ids
        32: .line 1603
      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 1607
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        34: .line 1608
            iconst_0
            istore 3 /* i */
            goto 55
        35: .line 1610
      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 1611
            new java.rmi.MarshalledObject
            dup
            aload 8 /* filters */
            iload 3 /* i */
            aaload
            invokespecial java.rmi.MarshalledObject.<init>:(Ljava/lang/Object;)V
        37: .line 1612
            aload 5 /* subjects */
            iload 3 /* i */
            aaload
        38: .line 1613
            iconst_0
        39: .line 1610
            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 1615
            aload 4 /* clis */
            iload 11 /* j */
            iinc 11 /* j */ 1
            new com.sun.jmx.remote.internal.ClientListenerInfo
            dup
            aload 12 /* id */
        41: .line 1616
            aload 6 /* names */
            iload 3 /* i */
            aaload
        42: .line 1617
            aload 7 /* listeners */
            iload 3 /* i */
            aaload
        43: .line 1618
            aload 8 /* filters */
            iload 3 /* i */
            aaload
        44: .line 1619
            aload 10 /* handbacks */
            iload 3 /* i */
            aaload
        45: .line 1620
            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 1615
            aastore
        end local 12 // java.lang.Integer id
        47: .line 1621
            goto 54
      StackMap locals:
      StackMap stack: javax.management.InstanceNotFoundException
        48: pop
        49: .line 1622
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "reconnectNotificationListeners"
        50: .line 1623
            new java.lang.StringBuilder
            dup
            ldc "Can't reconnect listener for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        51: .line 1624
            aload 6 /* names */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        52: .line 1623
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 1622
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        54: .line 1608
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 35
        56: .line 1628
            iload 11 /* j */
            iload 2 /* len */
            if_icmpeq 60
        57: .line 1629
            aload 4 /* clis */
            astore 12 /* tmp */
        start local 12 // com.sun.jmx.remote.internal.ClientListenerInfo[] tmp
        58: .line 1630
            iload 11 /* j */
            anewarray com.sun.jmx.remote.internal.ClientListenerInfo
            astore 4 /* clis */
        59: .line 1631
            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 1634
      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 1635
            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 1638
            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 1639
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "RMIClientCommunicatorAdmin-checkConnection"
         2: .line 1640
            ldc "Calling the method getDefaultDomain."
         3: .line 1639
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1642
      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 1643
            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 1649
            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 1650
      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 1649
      StackMap locals:
      StackMap stack: javax.management.remote.rmi.RMIServer
            astore 1 /* stub */
        start local 1 // javax.management.remote.rmi.RMIServer stub
         3: .line 1651
            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 1652
            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 1656
      StackMap locals: javax.management.remote.rmi.RMIServer
      StackMap stack:
            aload 1 /* stub */
            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;
            invokestatic javax.management.remote.rmi.RMIConnector.connectStub:(Ljavax/management/remote/rmi/RMIServer;Ljava/util/Map;)Ljavax/management/remote/rmi/RMIServer;
            astore 1 /* stub */
         7: .line 1659
            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
         8: .line 1660
            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;
         9: .line 1663
            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
        10: .line 1665
            aload 0 /* this */
            aload 3 /* old */
            invokevirtual javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.reconnectNotificationListeners:([Lcom/sun/jmx/remote/internal/ClientListenerInfo;)V
        11: .line 1667
            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;
        12: .line 1670
            new javax.management.remote.JMXConnectionNotification
            dup
            ldc "jmx.remote.connection.opened"
        13: .line 1671
            aload 0 /* this */
        14: .line 1672
            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;
        15: .line 1673
            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
        16: .line 1674
            ldc "Reconnected to server"
        17: .line 1675
            aconst_null
        18: .line 1670
            invokespecial javax.management.remote.JMXConnectionNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;)V
        19: .line 1669
            astore 4 /* reconnectedNotif */
        start local 4 // javax.management.Notification reconnectedNotif
        20: .line 1676
            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
        21: .line 1678
            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   22     0              this  Ljavax/management/remote/rmi/RMIConnector$RMIClientCommunicatorAdmin;
            3    4     1              stub  Ljavax/management/remote/rmi/RMIServer;
            6   22     1              stub  Ljavax/management/remote/rmi/RMIServer;
            5    6     2                ne  Ljavax/naming/NamingException;
            8   22     2       credentials  Ljava/lang/Object;
           10   22     3               old  [Lcom/sun/jmx/remote/internal/ClientListenerInfo;
           20   22     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 1682
            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 1683
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
         3: .line 1684
            getstatic javax.management.remote.rmi.RMIConnector.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "RMIClientCommunicatorAdmin-doStop"
         4: .line 1685
            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 1684
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 1686
            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 1688
      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