class com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher
  super_class: java.lang.Object
{
  private volatile boolean alreadyLogged;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

  private void logOnce(java.lang.String, java.lang.SecurityException);
    descriptor: (Ljava/lang/String;Ljava/lang/SecurityException;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
        start local 1 // java.lang.String msg
        start local 2 // java.lang.SecurityException x
         0: .line 400
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.alreadyLogged:Z
            ifeq 1
            return
         1: .line 402
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "setContextClassLoader"
            aload 1 /* msg */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.config:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 403
            aload 2 /* x */
            ifnull 3
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "setContextClassLoader"
            aload 2 /* x */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.fine:(Ljava/lang/String;Ljava/lang/Throwable;)V
         3: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.alreadyLogged:Z
         4: .line 405
            return
        end local 2 // java.lang.SecurityException x
        end local 1 // java.lang.String msg
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            0    5     1   msg  Ljava/lang/String;
            0    5     2     x  Ljava/lang/SecurityException;
    MethodParameters:
      Name  Flags
      msg   
      x     

  private final java.lang.ClassLoader setContextClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
        start local 1 // java.lang.ClassLoader loader
         0: .line 409
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.acc:Ljava/security/AccessControlContext;
            astore 2 /* ctxt */
        start local 2 // java.security.AccessControlContext ctxt
         1: .line 412
            aload 2 /* ctxt */
            ifnonnull 4
         2: .line 413
            aload 0 /* this */
            ldc "AccessControlContext must not be null."
            aconst_null
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.logOnce:(Ljava/lang/String;Ljava/lang/SecurityException;)V
         3: .line 414
            new java.lang.SecurityException
            dup
            ldc "AccessControlContext must not be null"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 417
      StackMap locals: java.security.AccessControlContext
      StackMap stack:
            new com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher$1
            dup
            aload 0 /* this */
            aload 1 /* loader */
            invokespecial com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher$1.<init>:(Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;Ljava/lang/ClassLoader;)V
         5: .line 440
            aload 2 /* ctxt */
         6: .line 416
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            areturn
        end local 2 // java.security.AccessControlContext ctxt
        end local 1 // java.lang.ClassLoader loader
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            0    7     1  loader  Ljava/lang/ClassLoader;
            1    7     2    ctxt  Ljava/security/AccessControlContext;
    MethodParameters:
        Name  Flags
      loader  final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
         0: .line 445
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.defaultClassLoader:Ljava/lang/ClassLoader;
            ifnull 3
         1: .line 446
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.defaultClassLoader:Ljava/lang/ClassLoader;
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.setContextClassLoader:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            astore 1 /* previous */
        start local 1 // java.lang.ClassLoader previous
         2: .line 447
            goto 4
        end local 1 // java.lang.ClassLoader previous
         3: .line 448
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* previous */
        start local 1 // java.lang.ClassLoader previous
         4: .line 451
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.doRun:()V
         5: .line 452
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
         7: .line 453
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.defaultClassLoader:Ljava/lang/ClassLoader;
            ifnull 9
         8: .line 454
            aload 0 /* this */
            aload 1 /* previous */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.setContextClassLoader:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            pop
         9: .line 456
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2
            athrow
        10: .line 453
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.defaultClassLoader:Ljava/lang/ClassLoader;
            ifnull 12
        11: .line 454
            aload 0 /* this */
            aload 1 /* previous */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.setContextClassLoader:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            pop
        12: .line 457
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.ClassLoader previous
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            2    3     1  previous  Ljava/lang/ClassLoader;
            4   13     1  previous  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           4     6       6  any

  private void doRun();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
         0: .line 460
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            dup
            astore 1
            monitorenter
         1: .line 461
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            putfield com.sun.jmx.remote.internal.ClientNotifForwarder.currentFetchThread:Ljava/lang/Thread;
         2: .line 463
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.state:I
            ifne 4
         3: .line 464
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            iconst_1
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.setState:(I)V
         4: .line 460
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 469
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* nr */
        start local 1 // javax.management.remote.NotificationResult nr
         9: .line 470
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifne 59
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchNotifs:()Ljavax/management/remote/NotificationResult;
            dup
            astore 1 /* nr */
            ifnull 59
        10: .line 474
            aload 1 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getTargetedNotifications:()[Ljavax/management/remote/TargetedNotification;
        11: .line 473
            astore 2 /* notifs */
        start local 2 // javax.management.remote.TargetedNotification[] notifs
        12: .line 475
            aload 2 /* notifs */
            arraylength
            istore 3 /* len */
        start local 3 // int len
        13: .line 479
            lconst_0
            lstore 6 /* missed */
        start local 6 // long missed
        14: .line 481
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            dup
            astore 8
            monitorenter
        15: .line 484
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.clientSequenceNumber:J
            lconst_0
            lcmp
            iflt 19
        16: .line 485
            aload 1 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getEarliestSequenceNumber:()J
        17: .line 486
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.clientSequenceNumber:J
        18: .line 485
            lsub
            lstore 6 /* missed */
        19: .line 489
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.NotificationResult javax.management.remote.TargetedNotification[] int top top long com.sun.jmx.remote.internal.ClientNotifForwarder
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            aload 1 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getNextSequenceNumber:()J
            putfield com.sun.jmx.remote.internal.ClientNotifForwarder.clientSequenceNumber:J
        20: .line 491
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* listeners */
        start local 4 // java.util.Map listeners
        21: .line 493
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        22: goto 38
        23: .line 494
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.NotificationResult javax.management.remote.TargetedNotification[] int java.util.Map top long com.sun.jmx.remote.internal.ClientNotifForwarder int
      StackMap stack:
            aload 2 /* notifs */
            iload 9 /* i */
            aaload
            astore 10 /* tn */
        start local 10 // javax.management.remote.TargetedNotification tn
        24: .line 495
            aload 10 /* tn */
            invokevirtual javax.management.remote.TargetedNotification.getListenerID:()Ljava/lang/Integer;
            astore 11 /* listenerID */
        start local 11 // java.lang.Integer listenerID
        25: .line 498
            aload 11 /* listenerID */
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.mbeanRemovedNotifID:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifne 30
        26: .line 499
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.infoList:Ljava/util/Map;
            aload 11 /* listenerID */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.jmx.remote.internal.ClientListenerInfo
            astore 12 /* li */
        start local 12 // com.sun.jmx.remote.internal.ClientListenerInfo li
        27: .line 500
            aload 12 /* li */
            ifnull 37
        28: .line 501
            aload 4 /* listeners */
            aload 11 /* listenerID */
            aload 12 /* li */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 503
            goto 37
        end local 12 // com.sun.jmx.remote.internal.ClientListenerInfo li
        30: .line 505
      StackMap locals: javax.management.remote.TargetedNotification java.lang.Integer
      StackMap stack:
            aload 10 /* tn */
            invokevirtual javax.management.remote.TargetedNotification.getNotification:()Ljavax/management/Notification;
            astore 12 /* notif */
        start local 12 // javax.management.Notification notif
        31: .line 508
            aload 12 /* notif */
            instanceof javax.management.MBeanServerNotification
            ifeq 37
        32: .line 509
            aload 12 /* notif */
            invokevirtual javax.management.Notification.getType:()Ljava/lang/String;
            ldc "JMX.mbean.unregistered"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 37
        33: .line 512
            aload 12 /* notif */
            checkcast javax.management.MBeanServerNotification
        34: .line 511
            astore 13 /* mbsn */
        start local 13 // javax.management.MBeanServerNotification mbsn
        35: .line 513
            aload 13 /* mbsn */
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
            astore 14 /* name */
        start local 14 // javax.management.ObjectName name
        36: .line 515
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            aload 14 /* name */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.removeNotificationListener:(Ljavax/management/ObjectName;)[Ljava/lang/Integer;
            pop
        end local 14 // javax.management.ObjectName name
        end local 13 // javax.management.MBeanServerNotification mbsn
        end local 12 // javax.management.Notification notif
        end local 11 // java.lang.Integer listenerID
        end local 10 // javax.management.remote.TargetedNotification tn
        37: .line 493
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 9 /* i */
            iload 3 /* len */
            if_icmplt 23
        end local 9 // int i
        39: .line 518
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.mbeanRemovedNotifID:Ljava/lang/Integer;
            astore 5 /* myListenerID */
        start local 5 // java.lang.Integer myListenerID
        40: .line 481
            aload 8
            monitorexit
        41: goto 44
        end local 5 // java.lang.Integer myListenerID
        end local 4 // java.util.Map listeners
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.NotificationResult javax.management.remote.TargetedNotification[] int top top long com.sun.jmx.remote.internal.ClientNotifForwarder
      StackMap stack: java.lang.Throwable
        42: aload 8
            monitorexit
        43: athrow
        start local 4 // java.util.Map listeners
        start local 5 // java.lang.Integer myListenerID
        44: .line 521
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.NotificationResult javax.management.remote.TargetedNotification[] int java.util.Map java.lang.Integer long
      StackMap stack:
            lload 6 /* missed */
            lconst_0
            lcmp
            ifle 53
        45: .line 523
            new java.lang.StringBuilder
            dup
            ldc "May have lost up to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 6 /* missed */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        46: .line 524
            ldc " notification"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 6 /* missed */
            lconst_1
            lcmp
            ifne 47
            ldc ""
            goto 48
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        47: ldc "s"
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.NotificationResult javax.management.remote.TargetedNotification[] int java.util.Map java.lang.Integer long
      StackMap stack: java.lang.StringBuilder java.lang.String
        48: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        49: .line 523
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 522
            astore 8 /* msg */
        start local 8 // java.lang.String msg
        51: .line 525
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            aload 8 /* msg */
            lload 6 /* missed */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.lostNotifs:(Ljava/lang/String;J)V
        52: .line 526
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.run"
            aload 8 /* msg */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        end local 8 // java.lang.String msg
        53: .line 530
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        54: goto 58
        55: .line 531
      StackMap locals: int
      StackMap stack:
            aload 2 /* notifs */
            iload 8 /* i */
            aaload
            astore 9 /* tn */
        start local 9 // javax.management.remote.TargetedNotification tn
        56: .line 532
            aload 0 /* this */
            aload 9 /* tn */
            aload 5 /* myListenerID */
            aload 4 /* listeners */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.dispatchNotification:(Ljavax/management/remote/TargetedNotification;Ljava/lang/Integer;Ljava/util/Map;)V
        end local 9 // javax.management.remote.TargetedNotification tn
        57: .line 530
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        58: iload 8 /* i */
            iload 3 /* len */
            if_icmplt 55
        end local 8 // int i
        end local 6 // long missed
        end local 5 // java.lang.Integer myListenerID
        end local 4 // java.util.Map listeners
        end local 3 // int len
        end local 2 // javax.management.remote.TargetedNotification[] notifs
        59: .line 536
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.NotificationResult
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            dup
            astore 2
            monitorenter
        60: .line 537
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            aconst_null
            putfield com.sun.jmx.remote.internal.ClientNotifForwarder.currentFetchThread:Ljava/lang/Thread;
        61: .line 536
            aload 2
            monitorexit
        62: goto 65
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.NotificationResult com.sun.jmx.remote.internal.ClientNotifForwarder
      StackMap stack: java.lang.Throwable
        63: aload 2
            monitorexit
        64: athrow
        65: .line 540
      StackMap locals:
      StackMap stack:
            aload 1 /* nr */
            ifnull 66
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifeq 75
        66: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            iconst_3
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.setState:(I)V
        67: .line 545
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.mbeanRemovedNotifID:Ljava/lang/Integer;
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.removeListenerForMBeanRemovedNotif:(Ljava/lang/Integer;)V
        68: .line 546
            goto 76
      StackMap locals:
      StackMap stack: java.lang.Exception
        69: astore 2 /* e */
        start local 2 // java.lang.Exception e
        70: .line 547
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 76
        71: .line 548
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
        72: .line 549
            ldc "removeListenerForMBeanRemovedNotif"
            aload 2 /* e */
        73: .line 548
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.lang.Exception e
        74: .line 552
            goto 76
        75: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.executor:Ljava/util/concurrent/Executor;
            aload 0 /* this */
            invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
        76: .line 555
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.management.remote.NotificationResult nr
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   77     0          this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            9   77     1            nr  Ljavax/management/remote/NotificationResult;
           12   59     2        notifs  [Ljavax/management/remote/TargetedNotification;
           13   59     3           len  I
           21   42     4     listeners  Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/jmx/remote/internal/ClientListenerInfo;>;
           44   59     4     listeners  Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/jmx/remote/internal/ClientListenerInfo;>;
           40   42     5  myListenerID  Ljava/lang/Integer;
           44   59     5  myListenerID  Ljava/lang/Integer;
           14   59     6        missed  J
           22   39     9             i  I
           24   37    10            tn  Ljavax/management/remote/TargetedNotification;
           25   37    11    listenerID  Ljava/lang/Integer;
           27   30    12            li  Lcom/sun/jmx/remote/internal/ClientListenerInfo;
           31   37    12         notif  Ljavax/management/Notification;
           35   37    13          mbsn  Ljavax/management/MBeanServerNotification;
           36   37    14          name  Ljavax/management/ObjectName;
           51   53     8           msg  Ljava/lang/String;
           54   59     8             i  I
           56   57     9            tn  Ljavax/management/remote/TargetedNotification;
           70   74     2             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
          15    41      42  any
          42    43      42  any
          60    62      63  any
          63    64      63  any
          67    68      69  Class java.lang.Exception

  void dispatchNotification(javax.management.remote.TargetedNotification, java.lang.Integer, java.util.Map<java.lang.Integer, com.sun.jmx.remote.internal.ClientListenerInfo>);
    descriptor: (Ljavax/management/remote/TargetedNotification;Ljava/lang/Integer;Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
        start local 1 // javax.management.remote.TargetedNotification tn
        start local 2 // java.lang.Integer myListenerID
        start local 3 // java.util.Map listeners
         0: .line 560
            aload 1 /* tn */
            invokevirtual javax.management.remote.TargetedNotification.getNotification:()Ljavax/management/Notification;
            astore 4 /* notif */
        start local 4 // javax.management.Notification notif
         1: .line 561
            aload 1 /* tn */
            invokevirtual javax.management.remote.TargetedNotification.getListenerID:()Ljava/lang/Integer;
            astore 5 /* listenerID */
        start local 5 // java.lang.Integer listenerID
         2: .line 563
            aload 5 /* listenerID */
            aload 2 /* myListenerID */
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 3
            return
         3: .line 564
      StackMap locals: javax.management.Notification java.lang.Integer
      StackMap stack:
            aload 3 /* listeners */
            aload 5 /* listenerID */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.jmx.remote.internal.ClientListenerInfo
            astore 6 /* li */
        start local 6 // com.sun.jmx.remote.internal.ClientListenerInfo li
         4: .line 566
            aload 6 /* li */
            ifnonnull 9
         5: .line 567
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.dispatch"
         6: .line 568
            ldc "Listener ID not in map"
         7: .line 567
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 569
            return
         9: .line 572
      StackMap locals: com.sun.jmx.remote.internal.ClientListenerInfo
      StackMap stack:
            aload 6 /* li */
            invokevirtual com.sun.jmx.remote.internal.ClientListenerInfo.getListener:()Ljavax/management/NotificationListener;
            astore 7 /* l */
        start local 7 // javax.management.NotificationListener l
        10: .line 573
            aload 6 /* li */
            invokevirtual com.sun.jmx.remote.internal.ClientListenerInfo.getHandback:()Ljava/lang/Object;
            astore 8 /* h */
        start local 8 // java.lang.Object h
        11: .line 575
            aload 7 /* l */
            aload 4 /* notif */
            aload 8 /* h */
            invokeinterface javax.management.NotificationListener.handleNotification:(Ljavax/management/Notification;Ljava/lang/Object;)V
        12: .line 576
            goto 15
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher javax.management.remote.TargetedNotification java.lang.Integer java.util.Map javax.management.Notification java.lang.Integer com.sun.jmx.remote.internal.ClientListenerInfo javax.management.NotificationListener java.lang.Object
      StackMap stack: java.lang.RuntimeException
        13: astore 9 /* e */
        start local 9 // java.lang.RuntimeException e
        14: .line 580
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
            ldc "Failed to forward a notification to a listener"
            aload 9 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 9 // java.lang.RuntimeException e
        15: .line 583
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.Object h
        end local 7 // javax.management.NotificationListener l
        end local 6 // com.sun.jmx.remote.internal.ClientListenerInfo li
        end local 5 // java.lang.Integer listenerID
        end local 4 // javax.management.Notification notif
        end local 3 // java.util.Map listeners
        end local 2 // java.lang.Integer myListenerID
        end local 1 // javax.management.remote.TargetedNotification tn
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            0   16     1            tn  Ljavax/management/remote/TargetedNotification;
            0   16     2  myListenerID  Ljava/lang/Integer;
            0   16     3     listeners  Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/jmx/remote/internal/ClientListenerInfo;>;
            1   16     4         notif  Ljavax/management/Notification;
            2   16     5    listenerID  Ljava/lang/Integer;
            4   16     6            li  Lcom/sun/jmx/remote/internal/ClientListenerInfo;
           10   16     7             l  Ljavax/management/NotificationListener;
           11   16     8             h  Ljava/lang/Object;
           14   15     9             e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.RuntimeException
    Signature: (Ljavax/management/remote/TargetedNotification;Ljava/lang/Integer;Ljava/util/Map<Ljava/lang/Integer;Lcom/sun/jmx/remote/internal/ClientListenerInfo;>;)V
    MethodParameters:
              Name  Flags
      tn            
      myListenerID  
      listeners     

  private javax.management.remote.NotificationResult fetchNotifs();
    descriptor: ()Ljavax/management/remote/NotificationResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
         0: .line 587
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
         1: .line 588
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.clientSequenceNumber:J
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.maxNotifications:I
         2: .line 589
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.timeout:J
         3: .line 588
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.fetchNotifs:(JIJ)Ljavax/management/remote/NotificationResult;
         4: .line 587
            astore 1 /* nr */
        start local 1 // javax.management.remote.NotificationResult nr
         5: .line 591
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 9
         6: .line 592
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
         7: .line 593
            new java.lang.StringBuilder
            dup
            ldc "Got notifications from the server: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* nr */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 592
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 596
      StackMap locals: javax.management.remote.NotificationResult
      StackMap stack:
            aload 1 /* nr */
        10: areturn
        end local 1 // javax.management.remote.NotificationResult nr
        11: .line 597
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher
      StackMap stack: java.lang.ClassNotFoundException
            astore 1 /* e */
        start local 1 // java.lang.ClassNotFoundException e
        12: .line 598
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchNotifs"
            aload 1 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
        13: .line 599
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchOneNotif:()Ljavax/management/remote/NotificationResult;
            areturn
        end local 1 // java.lang.ClassNotFoundException e
        14: .line 600
      StackMap locals:
      StackMap stack: java.io.NotSerializableException
            astore 1 /* e */
        start local 1 // java.io.NotSerializableException e
        15: .line 601
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchNotifs"
            aload 1 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
        16: .line 602
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchOneNotif:()Ljavax/management/remote/NotificationResult;
            areturn
        end local 1 // java.io.NotSerializableException e
        17: .line 603
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        18: .line 604
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifne 26
        19: .line 605
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
        20: .line 606
            new java.lang.StringBuilder
            dup
            ldc "Failed to fetch notification, stopping thread. Error is: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 607
            aload 1 /* ioe */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        22: .line 606
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 607
            aload 1 /* ioe */
        24: .line 605
            invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        25: .line 608
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
            aload 1 /* ioe */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        26: .line 612
      StackMap locals: java.io.IOException
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.io.IOException ioe
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   27     0  this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            5   11     1    nr  Ljavax/management/remote/NotificationResult;
           12   14     1     e  Ljava/lang/ClassNotFoundException;
           15   17     1     e  Ljava/io/NotSerializableException;
           18   27     1   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.ClassNotFoundException
           0    10      14  Class java.io.NotSerializableException
           0    10      17  Class java.io.IOException

  private javax.management.remote.NotificationResult fetchOneNotif();
    descriptor: ()Ljavax/management/remote/NotificationResult;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
         0: .line 635
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            astore 1 /* cnf */
        start local 1 // com.sun.jmx.remote.internal.ClientNotifForwarder cnf
         1: .line 637
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.clientSequenceNumber:J
            lstore 2 /* startSequenceNumber */
        start local 2 // long startSequenceNumber
         2: .line 639
            iconst_0
            istore 4 /* notFoundCount */
        start local 4 // int notFoundCount
         3: .line 641
            aconst_null
            astore 5 /* result */
        start local 5 // javax.management.remote.NotificationResult result
         4: .line 642
            ldc -1
            lstore 6 /* firstEarliest */
        start local 6 // long firstEarliest
         5: .line 644
            goto 41
         6: .line 649
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher com.sun.jmx.remote.internal.ClientNotifForwarder long int javax.management.remote.NotificationResult long
      StackMap stack:
            aload 1 /* cnf */
            lload 2 /* startSequenceNumber */
            iconst_0
            lconst_0
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.fetchNotifs:(JIJ)Ljavax/management/remote/NotificationResult;
            astore 8 /* nr */
        start local 8 // javax.management.remote.NotificationResult nr
         7: .line 650
            goto 18
        end local 8 // javax.management.remote.NotificationResult nr
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         8: astore 9 /* e */
        start local 9 // java.lang.ClassNotFoundException e
         9: .line 651
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
        10: .line 652
            new java.lang.StringBuilder
            dup
            ldc "Impossible exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 651
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 653
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
            aload 9 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
        13: .line 654
            aconst_null
            areturn
        end local 9 // java.lang.ClassNotFoundException e
        14: .line 655
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* e */
        start local 9 // java.io.IOException e
        15: .line 656
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifne 17
        16: .line 657
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
            aload 9 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
        17: .line 658
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher com.sun.jmx.remote.internal.ClientNotifForwarder long int javax.management.remote.NotificationResult long top java.io.IOException
      StackMap stack:
            aconst_null
            areturn
        end local 9 // java.io.IOException e
        start local 8 // javax.management.remote.NotificationResult nr
        18: .line 661
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher com.sun.jmx.remote.internal.ClientNotifForwarder long int javax.management.remote.NotificationResult long javax.management.remote.NotificationResult
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifeq 20
        19: .line 662
            aconst_null
            areturn
        20: .line 664
      StackMap locals:
      StackMap stack:
            aload 8 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getNextSequenceNumber:()J
            lstore 2 /* startSequenceNumber */
        21: .line 665
            lload 6 /* firstEarliest */
            lconst_0
            lcmp
            ifge 23
        22: .line 666
            aload 8 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getEarliestSequenceNumber:()J
            lstore 6 /* firstEarliest */
        23: .line 670
      StackMap locals:
      StackMap stack:
            aload 1 /* cnf */
            lload 2 /* startSequenceNumber */
            iconst_1
            lconst_0
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.fetchNotifs:(JIJ)Ljavax/management/remote/NotificationResult;
            astore 5 /* result */
        24: .line 671
            goto 41
      StackMap locals:
      StackMap stack: java.lang.Exception
        25: astore 9 /* e */
        start local 9 // java.lang.Exception e
        26: .line 672
            aload 9 /* e */
            instanceof java.lang.ClassNotFoundException
            ifne 28
        27: .line 673
            aload 9 /* e */
            instanceof java.io.NotSerializableException
            ifeq 38
        28: .line 674
      StackMap locals: java.lang.Exception
      StackMap stack:
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
        29: .line 675
            new java.lang.StringBuilder
            dup
            ldc "Failed to deserialize a notification: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 674
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        31: .line 676
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 35
        32: .line 677
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
        33: .line 678
            ldc "Failed to deserialize a notification."
            aload 9 /* e */
        34: .line 677
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        35: .line 681
      StackMap locals:
      StackMap stack:
            iinc 4 /* notFoundCount */ 1
        36: .line 682
            lload 2 /* startSequenceNumber */
            lconst_1
            ladd
            lstore 2 /* startSequenceNumber */
        37: .line 683
            goto 41
        38: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifne 40
        39: .line 685
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
            aload 9 /* e */
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/Throwable;)V
        40: .line 686
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 9 // java.lang.Exception e
        end local 8 // javax.management.remote.NotificationResult nr
        41: .line 644
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            ifnonnull 42
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifeq 6
        42: .line 691
      StackMap locals:
      StackMap stack:
            iload 4 /* notFoundCount */
            ifle 56
        43: .line 693
            new java.lang.StringBuilder
            dup
            ldc "Dropped "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* notFoundCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " notification"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        44: .line 694
            iload 4 /* notFoundCount */
            iconst_1
            if_icmpne 45
            ldc ""
            goto 46
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        45: ldc "s"
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher com.sun.jmx.remote.internal.ClientNotifForwarder long int javax.management.remote.NotificationResult long
      StackMap stack: java.lang.StringBuilder java.lang.String
        46: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 695
            ldc " because classes were missing locally"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 693
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 692
            astore 8 /* msg */
        start local 8 // java.lang.String msg
        50: .line 696
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            aload 8 /* msg */
            iload 4 /* notFoundCount */
            i2l
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.lostNotifs:(Ljava/lang/String;J)V
        51: .line 703
            aload 5 /* result */
            ifnull 56
        52: .line 704
            new javax.management.remote.NotificationResult
            dup
        53: .line 705
            lload 6 /* firstEarliest */
            aload 5 /* result */
            invokevirtual javax.management.remote.NotificationResult.getNextSequenceNumber:()J
        54: .line 706
            aload 5 /* result */
            invokevirtual javax.management.remote.NotificationResult.getTargetedNotifications:()[Ljavax/management/remote/TargetedNotification;
        55: .line 704
            invokespecial javax.management.remote.NotificationResult.<init>:(JJ[Ljavax/management/remote/TargetedNotification;)V
            astore 5 /* result */
        end local 8 // java.lang.String msg
        56: .line 710
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 6 // long firstEarliest
        end local 5 // javax.management.remote.NotificationResult result
        end local 4 // int notFoundCount
        end local 2 // long startSequenceNumber
        end local 1 // com.sun.jmx.remote.internal.ClientNotifForwarder cnf
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   57     0                 this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            1   57     1                  cnf  Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            2   57     2  startSequenceNumber  J
            3   57     4        notFoundCount  I
            4   57     5               result  Ljavax/management/remote/NotificationResult;
            5   57     6        firstEarliest  J
            7    8     8                   nr  Ljavax/management/remote/NotificationResult;
           18   41     8                   nr  Ljavax/management/remote/NotificationResult;
            9   14     9                    e  Ljava/lang/ClassNotFoundException;
           15   18     9                    e  Ljava/io/IOException;
           26   41     9                    e  Ljava/lang/Exception;
           50   56     8                  msg  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.ClassNotFoundException
           6     7      14  Class java.io.IOException
          23    24      25  Class java.lang.Exception

  private boolean shouldStop();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
         0: .line 714
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            dup
            astore 1
            monitorenter
         1: .line 715
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.state:I
            iconst_1
            if_icmpeq 4
         2: .line 716
            aload 1
            monitorexit
         3: iconst_1
            ireturn
         4: .line 717
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder.infoList:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifne 8
         5: .line 719
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            iconst_2
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.setState:(I)V
         6: .line 721
            aload 1
            monitorexit
         7: iconst_1
            ireturn
         8: .line 724
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         9: iconst_0
            ireturn
        10: .line 714
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        11: athrow
        end local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
      Exception table:
        from    to  target  type
           1     3      10  any
           4     7      10  any
           8     9      10  any
          10    11      10  any
}
SourceFile: "ClientNotifForwarder.java"
NestHost: com.sun.jmx.remote.internal.ClientNotifForwarder
InnerClasses:
  private NotifFetcher = com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher of com.sun.jmx.remote.internal.ClientNotifForwarder
  com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher$1