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 398
            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 400
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.alreadyLogged:Z
         2: .line 398
            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 403
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.alreadyLogged:Z
            ifeq 1
            return
         1: .line 405
      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 406
            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 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.alreadyLogged:Z
         4: .line 408
            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 412
            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 415
            aload 2 /* ctxt */
            ifnonnull 4
         2: .line 416
            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 417
            new java.lang.SecurityException
            dup
            ldc "AccessControlContext must not be null"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 420
      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 443
            aload 2 /* ctxt */
         6: .line 419
            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 448
            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 449
            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 450
            goto 4
        end local 1 // java.lang.ClassLoader previous
         3: .line 451
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* previous */
        start local 1 // java.lang.ClassLoader previous
         4: .line 454
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.doRun:()V
         5: .line 455
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 2
         7: .line 456
            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 457
            aload 0 /* this */
            aload 1 /* previous */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.setContextClassLoader:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            pop
         9: .line 459
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2
            athrow
        10: .line 456
      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 457
            aload 0 /* this */
            aload 1 /* previous */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.setContextClassLoader:(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
            pop
        12: .line 460
      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 463
            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 464
            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 466
            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 467
            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 463
      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 472
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* nr */
        start local 1 // javax.management.remote.NotificationResult nr
         9: .line 473
            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 477
            aload 1 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getTargetedNotifications:()[Ljavax/management/remote/TargetedNotification;
        11: .line 476
            astore 2 /* notifs */
        start local 2 // javax.management.remote.TargetedNotification[] notifs
        12: .line 478
            aload 2 /* notifs */
            arraylength
            istore 3 /* len */
        start local 3 // int len
        13: .line 482
            lconst_0
            lstore 6 /* missed */
        start local 6 // long missed
        14: .line 484
            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 487
            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 488
            aload 1 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getEarliestSequenceNumber:()J
        17: .line 489
            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 488
            lsub
            lstore 6 /* missed */
        19: .line 492
      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 494
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* listeners */
        start local 4 // java.util.Map listeners
        21: .line 496
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        22: goto 38
        23: .line 497
      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 498
            aload 10 /* tn */
            invokevirtual javax.management.remote.TargetedNotification.getListenerID:()Ljava/lang/Integer;
            astore 11 /* listenerID */
        start local 11 // java.lang.Integer listenerID
        25: .line 501
            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 502
            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 503
            aload 12 /* li */
            ifnull 37
        28: .line 504
            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 506
            goto 37
        end local 12 // com.sun.jmx.remote.internal.ClientListenerInfo li
        30: .line 508
      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 511
            aload 12 /* notif */
            instanceof javax.management.MBeanServerNotification
            ifeq 37
        32: .line 512
            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 515
            aload 12 /* notif */
            checkcast javax.management.MBeanServerNotification
        34: .line 514
            astore 13 /* mbsn */
        start local 13 // javax.management.MBeanServerNotification mbsn
        35: .line 516
            aload 13 /* mbsn */
            invokevirtual javax.management.MBeanServerNotification.getMBeanName:()Ljavax/management/ObjectName;
            astore 14 /* name */
        start local 14 // javax.management.ObjectName name
        36: .line 518
            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 496
      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 521
            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 484
            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 524
      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 526
            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 527
            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 526
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        50: .line 525
            astore 8 /* msg */
        start local 8 // java.lang.String msg
        51: .line 528
            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 529
            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 533
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        54: goto 58
        55: .line 534
      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 535
            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 533
            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 539
      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 540
            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 539
            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 543
      StackMap locals:
      StackMap stack:
            aload 1 /* nr */
            ifnonnull 70
        66: .line 544
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 70
        67: .line 545
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
        68: .line 546
            ldc "Recieved null object as notifs, stops fetching because the notification server is terminated."
        69: .line 545
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
        70: .line 550
      StackMap locals:
      StackMap stack:
            aload 1 /* nr */
            ifnull 71
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifeq 80
        71: .line 552
      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
        72: .line 555
            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
        73: .line 556
            goto 89
      StackMap locals:
      StackMap stack: java.lang.Exception
        74: astore 2 /* e */
        start local 2 // java.lang.Exception e
        75: .line 557
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 89
        76: .line 558
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
        77: .line 559
            ldc "removeListenerForMBeanRemovedNotif"
            aload 2 /* e */
        78: .line 558
            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
        79: .line 562
            goto 89
        80: .line 564
      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
        81: .line 565
            goto 89
      StackMap locals:
      StackMap stack: java.lang.Exception
        82: astore 2 /* e */
        start local 2 // java.lang.Exception e
        83: .line 566
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.isRejectedExecutionException:(Ljava/lang/Exception;)Z
            ifeq 88
        84: .line 571
            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;
            instanceof com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor
            ifne 89
        85: .line 574
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            new com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor
            dup
            invokespecial com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor.<init>:()V
            putfield com.sun.jmx.remote.internal.ClientNotifForwarder.executor:Ljava/util/concurrent/Executor;
        86: .line 575
            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
        87: .line 577
            goto 89
        88: .line 578
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 2 /* e */
            athrow
        end local 2 // java.lang.Exception e
        89: .line 582
      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   90     0          this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            9   90     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;
           75   79     2             e  Ljava/lang/Exception;
           83   89     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
          72    73      74  Class java.lang.Exception
          80    81      82  Class java.lang.Exception

  private boolean isRejectedExecutionException(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher this
        start local 1 // java.lang.Exception e
         0: .line 585
            aload 1 /* e */
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         1: .line 586
            goto 5
         2: .line 587
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* cause */
            instanceof java.util.concurrent.RejectedExecutionException
            ifeq 4
         3: .line 588
            iconst_1
            ireturn
         4: .line 590
      StackMap locals:
      StackMap stack:
            aload 2 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 2 /* cause */
         5: .line 586
      StackMap locals:
      StackMap stack:
            aload 2 /* cause */
            ifnonnull 2
         6: .line 592
            iconst_0
            ireturn
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.Exception e
        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      e  Ljava/lang/Exception;
            1    7     2  cause  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      e     

  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 598
            aload 1 /* tn */
            invokevirtual javax.management.remote.TargetedNotification.getNotification:()Ljavax/management/Notification;
            astore 4 /* notif */
        start local 4 // javax.management.Notification notif
         1: .line 599
            aload 1 /* tn */
            invokevirtual javax.management.remote.TargetedNotification.getListenerID:()Ljava/lang/Integer;
            astore 5 /* listenerID */
        start local 5 // java.lang.Integer listenerID
         2: .line 601
            aload 5 /* listenerID */
            aload 2 /* myListenerID */
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 3
            return
         3: .line 602
      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 604
            aload 6 /* li */
            ifnonnull 9
         5: .line 605
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.dispatch"
         6: .line 606
            ldc "Listener ID not in map"
         7: .line 605
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 607
            return
         9: .line 610
      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 611
            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 613
            aload 7 /* l */
            aload 4 /* notif */
            aload 8 /* h */
            invokeinterface javax.management.NotificationListener.handleNotification:(Ljavax/management/Notification;Ljava/lang/Object;)V
        12: .line 614
            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 618
            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 621
      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 625
            aload 0 /* this */
            getfield com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.this$0:Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
         1: .line 626
            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 627
            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 626
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder.fetchNotifs:(JIJ)Ljavax/management/remote/NotificationResult;
         4: .line 625
            astore 1 /* nr */
        start local 1 // javax.management.remote.NotificationResult nr
         5: .line 629
            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 630
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
         7: .line 631
            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 630
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 634
      StackMap locals: javax.management.remote.NotificationResult
      StackMap stack:
            aload 1 /* nr */
        10: areturn
        end local 1 // javax.management.remote.NotificationResult nr
        11: .line 635
      StackMap locals: com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
        12: .line 636
            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 637
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchOneNotif:()Ljavax/management/remote/NotificationResult;
            areturn
        end local 1 // java.lang.Exception e
        14: .line 638
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* ioe */
        start local 1 // java.io.IOException ioe
        15: .line 639
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifne 23
        16: .line 640
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher-run"
        17: .line 641
            new java.lang.StringBuilder
            dup
            ldc "Failed to fetch notification, stopping thread. Error is: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        18: .line 642
            aload 1 /* ioe */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        19: .line 641
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 642
            aload 1 /* ioe */
        21: .line 640
            invokevirtual com.sun.jmx.remote.util.ClassLogger.error:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        22: .line 643
            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
        23: .line 647
      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   24     0  this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            5   11     1    nr  Ljavax/management/remote/NotificationResult;
           12   14     1     e  Ljava/lang/Exception;
           15   24     1   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.ClassNotFoundException
           0    10      11  Class java.io.NotSerializableException
           0    10      14  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 671
            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 673
            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 675
            iconst_0
            istore 4 /* notFoundCount */
        start local 4 // int notFoundCount
         3: .line 677
            aconst_null
            astore 5 /* result */
        start local 5 // javax.management.remote.NotificationResult result
         4: .line 678
            ldc -1
            lstore 6 /* firstEarliest */
        start local 6 // long firstEarliest
         5: .line 680
            goto 40
         6: .line 685
      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 686
            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 687
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
        10: .line 688
            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 687
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 689
            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 690
            aconst_null
            areturn
        end local 9 // java.lang.ClassNotFoundException e
        14: .line 691
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* e */
        start local 9 // java.io.IOException e
        15: .line 692
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifne 17
        16: .line 693
            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 694
      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 697
      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
            ifne 19
            aload 8 /* nr */
            ifnonnull 20
        19: .line 698
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        20: .line 700
      StackMap locals:
      StackMap stack:
            aload 8 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getNextSequenceNumber:()J
            lstore 2 /* startSequenceNumber */
        21: .line 701
            lload 6 /* firstEarliest */
            lconst_0
            lcmp
            ifge 23
        22: .line 702
            aload 8 /* nr */
            invokevirtual javax.management.remote.NotificationResult.getEarliestSequenceNumber:()J
            lstore 6 /* firstEarliest */
        23: .line 706
      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 707
            goto 40
      StackMap locals:
      StackMap stack: java.lang.Exception
        25: astore 9 /* e */
        start local 9 // java.lang.Exception e
        26: .line 708
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
        27: .line 709
            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;
        28: .line 708
            invokevirtual com.sun.jmx.remote.util.ClassLogger.warning:(Ljava/lang/String;Ljava/lang/String;)V
        29: .line 710
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            invokevirtual com.sun.jmx.remote.util.ClassLogger.traceOn:()Z
            ifeq 33
        30: .line 711
            getstatic com.sun.jmx.remote.internal.ClientNotifForwarder.logger:Lcom/sun/jmx/remote/util/ClassLogger;
            ldc "NotifFetcher.fetchOneNotif"
        31: .line 712
            ldc "Failed to deserialize a notification."
            aload 9 /* e */
        32: .line 711
            invokevirtual com.sun.jmx.remote.util.ClassLogger.trace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        33: .line 715
      StackMap locals: java.lang.Exception
      StackMap stack:
            iinc 4 /* notFoundCount */ 1
        34: .line 716
            lload 2 /* startSequenceNumber */
            lconst_1
            ladd
            lstore 2 /* startSequenceNumber */
        end local 9 // java.lang.Exception e
        35: goto 40
        36: .line 717
      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: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        37: .line 718
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifne 39
        38: .line 719
            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
        39: .line 720
      StackMap locals: java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 9 // java.lang.Exception e
        end local 8 // javax.management.remote.NotificationResult nr
        40: .line 680
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            ifnonnull 41
            aload 0 /* this */
            invokevirtual com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.shouldStop:()Z
            ifeq 6
        41: .line 724
      StackMap locals:
      StackMap stack:
            iload 4 /* notFoundCount */
            ifle 55
        42: .line 726
            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;
        43: .line 727
            iload 4 /* notFoundCount */
            iconst_1
            if_icmpne 44
            ldc ""
            goto 45
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        44: 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
        45: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        46: .line 728
            ldc " because classes were missing locally or incompatible"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        47: .line 726
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 725
            astore 8 /* msg */
        start local 8 // java.lang.String msg
        49: .line 729
            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
        50: .line 736
            aload 5 /* result */
            ifnull 55
        51: .line 737
            new javax.management.remote.NotificationResult
            dup
        52: .line 738
            lload 6 /* firstEarliest */
            aload 5 /* result */
            invokevirtual javax.management.remote.NotificationResult.getNextSequenceNumber:()J
        53: .line 739
            aload 5 /* result */
            invokevirtual javax.management.remote.NotificationResult.getTargetedNotifications:()[Ljavax/management/remote/TargetedNotification;
        54: .line 737
            invokespecial javax.management.remote.NotificationResult.<init>:(JJ[Ljavax/management/remote/TargetedNotification;)V
            astore 5 /* result */
        end local 8 // java.lang.String msg
        55: .line 743
      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   56     0                 this  Lcom/sun/jmx/remote/internal/ClientNotifForwarder$NotifFetcher;
            1   56     1                  cnf  Lcom/sun/jmx/remote/internal/ClientNotifForwarder;
            2   56     2  startSequenceNumber  J
            3   56     4        notFoundCount  I
            4   56     5               result  Ljavax/management/remote/NotificationResult;
            5   56     6        firstEarliest  J
            7    8     8                   nr  Ljavax/management/remote/NotificationResult;
           18   40     8                   nr  Ljavax/management/remote/NotificationResult;
            9   14     9                    e  Ljava/lang/ClassNotFoundException;
           15   18     9                    e  Ljava/io/IOException;
           26   35     9                    e  Ljava/lang/Exception;
           37   40     9                    e  Ljava/lang/Exception;
           49   55     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.ClassNotFoundException
          23    24      25  Class java.io.NotSerializableException
          23    24      36  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 747
            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 748
            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 749
            aload 1
            monitorexit
         3: iconst_1
            ireturn
         4: .line 750
      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 752
            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 754
            aload 1
            monitorexit
         7: iconst_1
            ireturn
         8: .line 757
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         9: iconst_0
            ireturn
        10: .line 747
      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 LinearExecutor = com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor of com.sun.jmx.remote.internal.ClientNotifForwarder
  private NotifFetcher = com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher of com.sun.jmx.remote.internal.ClientNotifForwarder
  com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher$1