class com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker
  super_class: java.lang.Object
{
  private java.lang.Thread myThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0002) ACC_PRIVATE

  final com.sun.jmx.remote.internal.ClientCommunicatorAdmin this$0;
    descriptor: Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(com.sun.jmx.remote.internal.ClientCommunicatorAdmin);
    descriptor: (Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker this
         0: .line 168
            aload 0 /* this */
            aload 1
            putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
    MethodParameters:
        Name  Flags
      this$0  final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker this
         0: .line 170
            aload 0 /* this */
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.myThread:Ljava/lang/Thread;
         1: .line 172
            goto 35
         2: .line 174
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.period:J
            invokestatic java.lang.Thread.sleep:(J)V
         3: .line 175
            goto 5
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         4: pop
         5: .line 180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
            iconst_3
            if_icmpeq 36
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.myThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 7
         6: .line 181
            goto 36
         7: .line 185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.checkConnection:()V
         8: .line 186
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 1 /* e */
        start local 1 // java.lang.Exception e
        10: .line 187
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.lock:[I
            dup
            astore 2
            monitorenter
        11: .line 188
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
            iconst_3
            if_icmpeq 12
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.myThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 14
        12: .line 189
      StackMap locals: java.lang.Exception int[]
      StackMap stack:
            aload 2
            monitorexit
        13: goto 36
        14: .line 187
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 2
            monitorexit
        17: athrow
        18: .line 193
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokestatic com.sun.jmx.remote.util.EnvHelp.getCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.Exception
            astore 1 /* e */
        19: .line 195
            aload 1 /* e */
            instanceof java.io.IOException
            ifeq 30
        20: .line 196
            aload 1 /* e */
            instanceof java.io.InterruptedIOException
            ifne 30
        21: .line 198
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            aload 1 /* e */
            checkcast java.io.IOException
            invokevirtual com.sun.jmx.remote.internal.ClientCommunicatorAdmin.restart:(Ljava/io/IOException;)V
        22: .line 199
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Exception
        23: pop
        24: .line 200
            getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "Checker-run"
        25: .line 201
            new java.lang.StringBuilder
            dup
            ldc "Failed to check connection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 200
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        27: .line 202
            getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "Checker-run"
            ldc "stopping"
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        28: .line 203
            getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "Checker-run"
            aload 1 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        29: .line 205
            goto 36
        30: .line 208
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "Checker-run"
        31: .line 209
            new java.lang.StringBuilder
            dup
            ldc "Failed to check the connection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 208
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        33: .line 210
            getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "Checker-run"
            aload 1 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        34: .line 214
            goto 36
        end local 1 // java.lang.Exception e
        35: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.this$0:Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin;
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin.state:I
            iconst_3
            if_icmpeq 36
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.myThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isInterrupted:()Z
            ifeq 2
        36: .line 219
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 38
        37: .line 220
            getstatic com.sun.jmx.remote.internal.ClientCommunicatorAdmin.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "Checker-run"
            ldc "Finished."
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        38: .line 222
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   39     0  this  Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
           10   35     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.InterruptedException
           7     8       9  Class java.lang.Exception
          11    13      16  any
          14    15      16  any
          16    17      16  any
          21    22      23  Class java.lang.Exception

  private void stop();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker this
         0: .line 225
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.myThread:Ljava/lang/Thread;
            ifnull 2
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.myThread:Ljava/lang/Thread;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            if_acmpeq 2
         1: .line 226
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.myThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         2: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jmx/remote/internal/ClientCommunicatorAdmin$Checker;
}
SourceFile: "ClientCommunicatorAdmin.java"
NestHost: com.sun.jmx.remote.internal.ClientCommunicatorAdmin
InnerClasses:
  private Checker = com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker of com.sun.jmx.remote.internal.ClientCommunicatorAdmin