public abstract class javax.management.monitor.Monitor extends javax.management.NotificationBroadcasterSupport implements javax.management.monitor.MonitorMBean, javax.management.MBeanRegistration
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.management.monitor.Monitor
  super_class: javax.management.NotificationBroadcasterSupport
{
  private java.lang.String observedAttribute;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private long granularityPeriod;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean isActive;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final java.util.concurrent.atomic.AtomicLong sequenceNumber;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean isComplexTypeAttribute;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String firstAttribute;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.List<java.lang.String> remainingAttributes;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private static final java.security.AccessControlContext noPermissionsACC;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private volatile java.security.AccessControlContext acc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private static final java.util.concurrent.ScheduledExecutorService scheduler;
    descriptor: Ljava/util/concurrent/ScheduledExecutorService;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.util.concurrent.ThreadPoolExecutor, java.lang.Void> executors;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/util/concurrent/ThreadPoolExecutor;Ljava/lang/Void;>;

  private static final java.lang.Object executorsLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int maximumPoolSize;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.util.concurrent.Future<?> monitorFuture;
    descriptor: Ljava/util/concurrent/Future;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/Future<*>;

  private final javax.management.monitor.Monitor$SchedulerTask schedulerTask;
    descriptor: Ljavax/management/monitor/Monitor$SchedulerTask;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.util.concurrent.ScheduledFuture<?> schedulerFuture;
    descriptor: Ljava/util/concurrent/ScheduledFuture;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ScheduledFuture<*>;

  protected static final int capacityIncrement;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  protected int elementCount;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int alreadyNotified;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected int[] alreadyNotifieds;
    descriptor: [I
    flags: (0x0004) ACC_PROTECTED

  protected javax.management.MBeanServer server;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x0004) ACC_PROTECTED

  protected static final int RESET_FLAGS_ALREADY_NOTIFIED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  protected static final int OBSERVED_OBJECT_ERROR_NOTIFIED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  protected static final int OBSERVED_ATTRIBUTE_ERROR_NOTIFIED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  protected static final int OBSERVED_ATTRIBUTE_TYPE_ERROR_NOTIFIED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  protected static final int RUNTIME_ERROR_NOTIFIED;
    descriptor: I
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  protected java.lang.String dbgTag;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  final java.util.List<javax.management.monitor.Monitor$ObservedObject> observedObjects;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Ljavax/management/monitor/Monitor$ObservedObject;>;

  static final int THRESHOLD_ERROR_NOTIFIED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final java.lang.Integer INTEGER_ZERO;
    descriptor: Ljava/lang/Integer;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=9, locals=3, args_size=0
         0: .line 175
            new java.security.AccessControlContext
            dup
         1: .line 176
            iconst_1
            anewarray java.security.ProtectionDomain
            dup
            iconst_0
            new java.security.ProtectionDomain
            dup
            aconst_null
            aconst_null
            invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;)V
            aastore
         2: .line 175
            invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
         3: .line 174
            putstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
         4: .line 184
            new javax.management.monitor.Monitor$DaemonThreadFactory
            dup
            ldc "Scheduler"
            invokespecial javax.management.monitor.Monitor$DaemonThreadFactory.<init>:(Ljava/lang/String;)V
         5: .line 183
            invokestatic java.util.concurrent.Executors.newSingleThreadScheduledExecutor:(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
         6: .line 182
            putstatic javax.management.monitor.Monitor.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
         7: .line 190
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
         8: .line 189
            putstatic javax.management.monitor.Monitor.executors:Ljava/util/Map;
         9: .line 195
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic javax.management.monitor.Monitor.executorsLock:Ljava/lang/Object;
        10: .line 204
            new com.sun.jmx.mbeanserver.GetPropertyAction
            dup
            ldc "jmx.x.monitor.maximum.pool.size"
            invokespecial com.sun.jmx.mbeanserver.GetPropertyAction.<init>:(Ljava/lang/String;)V
        11: .line 203
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 0 /* maximumPoolSizeStr */
        start local 0 // java.lang.String maximumPoolSizeStr
        12: .line 205
            aload 0 /* maximumPoolSizeStr */
            ifnull 14
        13: .line 206
            aload 0 /* maximumPoolSizeStr */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 16
        14: .line 207
      StackMap locals: java.lang.String
      StackMap stack:
            bipush 10
            putstatic javax.management.monitor.Monitor.maximumPoolSize:I
        15: .line 208
            goto 33
        16: .line 209
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 1 /* maximumPoolSizeTmp */
        start local 1 // int maximumPoolSizeTmp
        17: .line 211
            aload 0 /* maximumPoolSizeStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 1 /* maximumPoolSizeTmp */
        18: .line 212
            goto 29
      StackMap locals: java.lang.String int
      StackMap stack: java.lang.NumberFormatException
        19: astore 2 /* e */
        start local 2 // java.lang.NumberFormatException e
        20: .line 213
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            invokeinterface java.lang.System$Logger.isLoggable:(Ljava/lang/System$Logger$Level;)Z
            ifeq 28
        21: .line 214
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
        22: .line 215
            ldc "Wrong value for jmx.x.monitor.maximum.pool.size system property"
        23: .line 216
            aload 2 /* e */
        24: .line 214
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        25: .line 217
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
        26: .line 218
            ldc "jmx.x.monitor.maximum.pool.size defaults to 10"
        27: .line 217
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        28: .line 220
      StackMap locals: java.lang.NumberFormatException
      StackMap stack:
            bipush 10
            istore 1 /* maximumPoolSizeTmp */
        end local 2 // java.lang.NumberFormatException e
        29: .line 222
      StackMap locals:
      StackMap stack:
            iload 1 /* maximumPoolSizeTmp */
            iconst_1
            if_icmpge 32
        30: .line 223
            iconst_1
            putstatic javax.management.monitor.Monitor.maximumPoolSize:I
        31: .line 224
            goto 33
        32: .line 225
      StackMap locals:
      StackMap stack:
            iload 1 /* maximumPoolSizeTmp */
            putstatic javax.management.monitor.Monitor.maximumPoolSize:I
        end local 1 // int maximumPoolSizeTmp
        end local 0 // java.lang.String maximumPoolSizeStr
        33: .line 371
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic javax.management.monitor.Monitor.INTEGER_ZERO:Ljava/lang/Integer;
            return
      LocalVariableTable:
        Start  End  Slot                Name  Signature
           12   33     0  maximumPoolSizeStr  Ljava/lang/String;
           17   33     1  maximumPoolSizeTmp  I
           20   29     2                   e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
          17    18      19  Class java.lang.NumberFormatException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 82
            aload 0 /* this */
            invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
         1: .line 140
            aload 0 /* this */
            ldc 10000
            putfield javax.management.monitor.Monitor.granularityPeriod:J
         2: .line 146
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isActive:Z
         3: .line 152
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putfield javax.management.monitor.Monitor.sequenceNumber:Ljava/util/concurrent/atomic/AtomicLong;
         4: .line 158
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
         5: .line 168
            aload 0 /* this */
         6: .line 169
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
         7: .line 177
            aload 0 /* this */
            getstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
         8: .line 238
            aload 0 /* this */
            new javax.management.monitor.Monitor$SchedulerTask
            dup
            aload 0 /* this */
            invokespecial javax.management.monitor.Monitor$SchedulerTask.<init>:(Ljavax/management/monitor/Monitor;)V
            putfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
         9: .line 262
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.elementCount:I
        10: .line 269
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.alreadyNotified:I
        11: .line 281
            aload 0 /* this */
            bipush 16
            newarray 10
            putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
        12: .line 341
            aload 0 /* this */
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            putfield javax.management.monitor.Monitor.dbgTag:Ljava/lang/String;
        13: .line 352
            aload 0 /* this */
        14: .line 353
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
        15: .line 82
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljavax/management/monitor/Monitor;

  public javax.management.ObjectName preRegister(javax.management.MBeanServer, javax.management.ObjectName);
    descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.MBeanServer server
        start local 2 // javax.management.ObjectName name
         0: .line 397
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
         1: .line 398
            ldc "initialize the reference on the MBean server"
         2: .line 397
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         3: .line 400
            aload 0 /* this */
            aload 1 /* server */
            putfield javax.management.monitor.Monitor.server:Ljavax/management/MBeanServer;
         4: .line 401
            aload 2 /* name */
            areturn
        end local 2 // javax.management.ObjectName name
        end local 1 // javax.management.MBeanServer server
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljavax/management/monitor/Monitor;
            0    5     1  server  Ljavax/management/MBeanServer;
            0    5     2    name  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      server  
      name    

  public void postRegister(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // java.lang.Boolean registrationDone
         0: .line 412
            return
        end local 1 // java.lang.Boolean registrationDone
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Ljavax/management/monitor/Monitor;
            0    1     1  registrationDone  Ljava/lang/Boolean;
    MethodParameters:
                  Name  Flags
      registrationDone  

  public void preDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 424
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "stop the monitor"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 428
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.stop:()V
         2: .line 429
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/management/monitor/Monitor;
    Exceptions:
      throws java.lang.Exception

  public void postDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 438
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/monitor/Monitor;

  public abstract void start();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void stop();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public synchronized javax.management.ObjectName getObservedObject();
    descriptor: ()Ljavax/management/ObjectName;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 465
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 466
            aconst_null
            areturn
         2: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.management.monitor.Monitor$ObservedObject
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
            areturn
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavax/management/monitor/Monitor;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public synchronized void setObservedObject(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 487
            aload 1 /* object */
            ifnonnull 2
         1: .line 488
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed object"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 4
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.containsObservedObject:(Ljavax/management/ObjectName;)Z
            ifeq 4
         3: .line 490
            return
         4: .line 491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         5: .line 492
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.addObservedObject:(Ljavax/management/ObjectName;)V
         6: .line 493
            return
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/management/monitor/Monitor;
            0    7     1  object  Ljavax/management/ObjectName;
    Exceptions:
      throws java.lang.IllegalArgumentException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      object  

  public synchronized void addObservedObject(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 506
            aload 1 /* object */
            ifnonnull 2
         1: .line 507
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed object"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 512
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.containsObservedObject:(Ljavax/management/ObjectName;)Z
            ifeq 4
         3: .line 513
            return
         4: .line 517
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.createObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
            astore 2 /* o */
        start local 2 // javax.management.monitor.Monitor$ObservedObject o
         5: .line 518
            aload 2 /* o */
            iconst_0
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         6: .line 519
            aload 2 /* o */
            getstatic javax.management.monitor.Monitor.INTEGER_ZERO:Ljava/lang/Integer;
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGauge:(Ljava/lang/Object;)V
         7: .line 520
            aload 2 /* o */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
         8: .line 521
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            aload 2 /* o */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 525
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
        10: .line 526
            return
        end local 2 // javax.management.monitor.Monitor$ObservedObject o
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Ljavax/management/monitor/Monitor;
            0   11     1  object  Ljavax/management/ObjectName;
            5   11     2       o  Ljavax/management/monitor/Monitor$ObservedObject;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
        Name  Flags
      object  

  public synchronized void removeObservedObject(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 537
            aload 1 /* object */
            ifnonnull 2
         1: .line 538
            return
         2: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
            astore 2 /* o */
        start local 2 // javax.management.monitor.Monitor$ObservedObject o
         3: .line 541
            aload 2 /* o */
            ifnull 6
         4: .line 544
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            aload 2 /* o */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 547
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
         6: .line 549
      StackMap locals: javax.management.monitor.Monitor$ObservedObject
      StackMap stack:
            return
        end local 2 // javax.management.monitor.Monitor$ObservedObject o
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljavax/management/monitor/Monitor;
            0    7     1  object  Ljavax/management/ObjectName;
            3    7     2       o  Ljavax/management/monitor/Monitor$ObservedObject;
    MethodParameters:
        Name  Flags
      object  

  public synchronized boolean containsObservedObject(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 560
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljavax/management/monitor/Monitor;
            0    2     1  object  Ljavax/management/ObjectName;
    MethodParameters:
        Name  Flags
      object  

  public synchronized javax.management.ObjectName[] getObservedObjects();
    descriptor: ()[Ljavax/management/ObjectName;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 570
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray javax.management.ObjectName
            astore 1 /* names */
        start local 1 // javax.management.ObjectName[] names
         1: .line 571
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 572
      StackMap locals: javax.management.ObjectName[] int
      StackMap stack:
            aload 1 /* names */
            iload 2 /* i */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.management.monitor.Monitor$ObservedObject
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
            aastore
         4: .line 571
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* names */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 573
            aload 1 /* names */
            areturn
        end local 1 // javax.management.ObjectName[] names
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljavax/management/monitor/Monitor;
            1    7     1  names  [Ljavax/management/ObjectName;
            2    6     2      i  I

  public synchronized java.lang.String getObservedAttribute();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 585
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
            areturn
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/monitor/Monitor;

  public void setObservedAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // java.lang.String attribute
         0: .line 601
            aload 1 /* attribute */
            ifnonnull 2
         1: .line 602
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed attribute"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 607
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 608
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
            ifnull 7
         4: .line 609
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
            aload 1 /* attribute */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 610
            aload 2
            monitorexit
         6: return
         7: .line 611
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 0 /* this */
            aload 1 /* attribute */
            putfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
         8: .line 616
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
         9: .line 618
            iconst_0
            istore 3 /* index */
        start local 3 // int index
        10: .line 619
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 15
      StackMap locals: javax.management.monitor.Monitor java.lang.String javax.management.monitor.Monitor int top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.monitor.Monitor$ObservedObject
            astore 4 /* o */
        start local 4 // javax.management.monitor.Monitor$ObservedObject o
        12: .line 620
            aload 0 /* this */
            aload 4 /* o */
            iload 3 /* index */
            iinc 3 /* index */ 1
        13: .line 621
            bipush 6
        14: .line 620
            invokevirtual javax.management.monitor.Monitor.resetAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II)V
        end local 4 // javax.management.monitor.Monitor$ObservedObject o
        15: .line 619
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // int index
        16: .line 607
            aload 2
            monitorexit
        17: goto 20
      StackMap locals: javax.management.monitor.Monitor java.lang.String javax.management.monitor.Monitor
      StackMap stack: java.lang.Throwable
        18: aload 2
            monitorexit
        19: athrow
        20: .line 625
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String attribute
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Ljavax/management/monitor/Monitor;
            0   21     1  attribute  Ljava/lang/String;
           10   16     3      index  I
           12   15     4          o  Ljavax/management/monitor/Monitor$ObservedObject;
      Exception table:
        from    to  target  type
           3     6      18  any
           7    17      18  any
          18    19      18  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
           Name  Flags
      attribute  

  public synchronized long getGranularityPeriod();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 636
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.granularityPeriod:J
            lreturn
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/monitor/Monitor;

  public synchronized void setGranularityPeriod(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // long period
         0: .line 652
            lload 1 /* period */
            lconst_0
            lcmp
            ifgt 2
         1: .line 653
            new java.lang.IllegalArgumentException
            dup
            ldc "Nonpositive granularity period"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.granularityPeriod:J
            lload 1 /* period */
            lcmp
            ifne 4
         3: .line 658
            return
         4: .line 659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* period */
            putfield javax.management.monitor.Monitor.granularityPeriod:J
         5: .line 663
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifeq 11
         6: .line 664
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
         7: .line 665
            aload 0 /* this */
            getstatic javax.management.monitor.Monitor.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
         8: .line 666
            lload 1 /* period */
         9: .line 667
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        10: .line 665
            invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
        11: .line 669
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long period
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Ljavax/management/monitor/Monitor;
            0   12     1  period  J
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
        Name  Flags
      period  

  public synchronized boolean isActive();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 684
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.isActive:Z
            ireturn
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/management/monitor/Monitor;

  void doStart();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 697
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "start the monitor"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 699
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 700
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifeq 6
         3: .line 701
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "the monitor is already active"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         4: .line 702
            aload 1
            monitorexit
         5: return
         6: .line 705
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.management.monitor.Monitor.isActive:Z
         7: .line 710
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
         8: .line 715
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
         9: .line 719
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
        10: .line 720
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
            new javax.management.monitor.Monitor$MonitorTask
            dup
            aload 0 /* this */
            invokespecial javax.management.monitor.Monitor$MonitorTask.<init>:(Ljavax/management/monitor/Monitor;)V
            invokevirtual javax.management.monitor.Monitor$SchedulerTask.setMonitorTask:(Ljavax/management/monitor/Monitor$MonitorTask;)V
        11: .line 721
            aload 0 /* this */
            getstatic javax.management.monitor.Monitor.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.schedulerTask:Ljavax/management/monitor/Monitor$SchedulerTask;
        12: .line 722
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getGranularityPeriod:()J
        13: .line 723
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        14: .line 721
            invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
        15: .line 699
            aload 1
            monitorexit
        16: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 1
            monitorexit
        18: athrow
        19: .line 725
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Ljavax/management/monitor/Monitor;
      Exception table:
        from    to  target  type
           2     5      17  any
           6    16      17  any
          17    18      17  any

  void doStop();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 731
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "stop the monitor"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         1: .line 733
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 734
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 6
         3: .line 735
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            ldc "the monitor is not active"
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         4: .line 736
            aload 1
            monitorexit
         5: return
         6: .line 739
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isActive:Z
         7: .line 744
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
         8: .line 748
            aload 0 /* this */
            getstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
         9: .line 753
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
        10: .line 733
            aload 1
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 1
            monitorexit
        13: athrow
        14: .line 755
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Ljavax/management/monitor/Monitor;
      Exception table:
        from    to  target  type
           2     5      12  any
           6    11      12  any
          12    13      12  any

  synchronized java.lang.Object getDerivedGauge(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Ljava/lang/Object;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 769
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
            astore 2 /* o */
        start local 2 // javax.management.monitor.Monitor$ObservedObject o
         1: .line 770
            aload 2 /* o */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: javax.management.monitor.Monitor$ObservedObject
      StackMap stack:
         2: aload 2 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getDerivedGauge:()Ljava/lang/Object;
      StackMap locals:
      StackMap stack: java.lang.Object
         3: areturn
        end local 2 // javax.management.monitor.Monitor$ObservedObject o
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljavax/management/monitor/Monitor;
            0    4     1  object  Ljavax/management/ObjectName;
            1    4     2       o  Ljavax/management/monitor/Monitor$ObservedObject;
    MethodParameters:
        Name  Flags
      object  

  synchronized long getDerivedGaugeTimeStamp(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)J
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 785
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.getObservedObject:(Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
            astore 2 /* o */
        start local 2 // javax.management.monitor.Monitor$ObservedObject o
         1: .line 786
            aload 2 /* o */
            ifnonnull 2
            lconst_0
            goto 3
      StackMap locals: javax.management.monitor.Monitor$ObservedObject
      StackMap stack:
         2: aload 2 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getDerivedGaugeTimeStamp:()J
      StackMap locals:
      StackMap stack: long
         3: lreturn
        end local 2 // javax.management.monitor.Monitor$ObservedObject o
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljavax/management/monitor/Monitor;
            0    4     1  object  Ljavax/management/ObjectName;
            1    4     2       o  Ljavax/management/monitor/Monitor$ObservedObject;
    MethodParameters:
        Name  Flags
      object  

  java.lang.Object getAttribute(javax.management.MBeanServerConnection, javax.management.ObjectName, java.lang.String);
    descriptor: (Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=13, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.MBeanServerConnection mbsc
        start local 2 // javax.management.ObjectName object
        start local 3 // java.lang.String attribute
         0: .line 803
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         1: .line 804
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 5
         2: .line 805
            new java.lang.IllegalArgumentException
            dup
         3: .line 806
            ldc "The monitor has been stopped"
         4: .line 805
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 807
      StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String top javax.management.monitor.Monitor
      StackMap stack:
            aload 3 /* attribute */
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         6: .line 808
            new java.lang.IllegalArgumentException
            dup
         7: .line 809
            ldc "The observed attribute has been changed"
         8: .line 808
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
            ifnonnull 11
            aload 3 /* attribute */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 11
        10: .line 810
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: istore 4 /* lookupMBeanInfo */
        start local 4 // boolean lookupMBeanInfo
        13: .line 803
            aload 5
            monitorexit
        14: goto 17
        end local 4 // boolean lookupMBeanInfo
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 5
            monitorexit
        16: athrow
        start local 4 // boolean lookupMBeanInfo
        17: .line 817
      StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int
      StackMap stack:
            iload 4 /* lookupMBeanInfo */
            ifeq 22
        18: .line 819
            aload 1 /* mbsc */
            aload 2 /* object */
            invokeinterface javax.management.MBeanServerConnection.getMBeanInfo:(Ljavax/management/ObjectName;)Ljavax/management/MBeanInfo;
            astore 5 /* mbi */
        start local 5 // javax.management.MBeanInfo mbi
        19: .line 820
            goto 23
        end local 5 // javax.management.MBeanInfo mbi
      StackMap locals:
      StackMap stack: javax.management.IntrospectionException
        20: astore 6 /* e */
        start local 6 // javax.management.IntrospectionException e
        21: .line 821
            new java.lang.IllegalArgumentException
            dup
            aload 6 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // javax.management.IntrospectionException e
        22: .line 824
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* mbi */
        start local 5 // javax.management.MBeanInfo mbi
        23: .line 830
      StackMap locals: javax.management.MBeanInfo
      StackMap stack:
            aload 0 /* this */
            dup
            astore 7
            monitorenter
        24: .line 831
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 28
        25: .line 832
            new java.lang.IllegalArgumentException
            dup
        26: .line 833
            ldc "The monitor has been stopped"
        27: .line 832
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 834
      StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo top javax.management.monitor.Monitor
      StackMap stack:
            aload 3 /* attribute */
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 32
        29: .line 835
            new java.lang.IllegalArgumentException
            dup
        30: .line 836
            ldc "The observed attribute has been changed"
        31: .line 835
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
            ifnonnull 53
        33: .line 838
            aload 3 /* attribute */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 52
        34: .line 839
            aload 5 /* mbi */
            invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
            astore 8 /* mbaiArray */
        start local 8 // javax.management.MBeanAttributeInfo[] mbaiArray
        35: .line 840
            aload 8 /* mbaiArray */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 41
      StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo top javax.management.monitor.Monitor javax.management.MBeanAttributeInfo[] top int int javax.management.MBeanAttributeInfo[]
      StackMap stack:
        36: aload 12
            iload 10
            aaload
            astore 9 /* mbai */
        start local 9 // javax.management.MBeanAttributeInfo mbai
        37: .line 841
            aload 3 /* attribute */
            aload 9 /* mbai */
            invokevirtual javax.management.MBeanAttributeInfo.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 40
        38: .line 842
            aload 0 /* this */
            aload 3 /* attribute */
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        39: .line 843
            goto 42
        end local 9 // javax.management.MBeanAttributeInfo mbai
        40: .line 840
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        41: iload 10
            iload 11
            if_icmplt 36
        42: .line 846
      StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo top javax.management.monitor.Monitor javax.management.MBeanAttributeInfo[]
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
            ifnonnull 53
        43: .line 847
            aload 3 /* attribute */
            ldc "\\."
            iconst_m1
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            astore 9 /* tokens */
        start local 9 // java.lang.String[] tokens
        44: .line 848
            aload 0 /* this */
            aload 9 /* tokens */
            iconst_0
            aaload
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        45: .line 849
            iconst_1
            istore 10 /* i */
        start local 10 // int i
        46: goto 49
        47: .line 850
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
            aload 9 /* tokens */
            iload 10 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        48: .line 849
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 10 /* i */
            aload 9 /* tokens */
            arraylength
            if_icmplt 47
        end local 10 // int i
        50: .line 851
            aload 0 /* this */
            iconst_1
            putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
        end local 9 // java.lang.String[] tokens
        end local 8 // javax.management.MBeanAttributeInfo[] mbaiArray
        51: .line 853
            goto 53
        52: .line 854
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* attribute */
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        53: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
            astore 6 /* fa */
        start local 6 // java.lang.String fa
        54: .line 830
            aload 7
            monitorexit
        55: goto 58
        end local 6 // java.lang.String fa
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: aload 7
            monitorexit
        57: athrow
        start local 6 // java.lang.String fa
        58: .line 859
      StackMap locals: javax.management.monitor.Monitor javax.management.MBeanServerConnection javax.management.ObjectName java.lang.String int javax.management.MBeanInfo java.lang.String
      StackMap stack:
            aload 1 /* mbsc */
            aload 2 /* object */
            aload 6 /* fa */
            invokeinterface javax.management.MBeanServerConnection.getAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 6 // java.lang.String fa
        end local 5 // javax.management.MBeanInfo mbi
        end local 4 // boolean lookupMBeanInfo
        end local 3 // java.lang.String attribute
        end local 2 // javax.management.ObjectName object
        end local 1 // javax.management.MBeanServerConnection mbsc
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   59     0             this  Ljavax/management/monitor/Monitor;
            0   59     1             mbsc  Ljavax/management/MBeanServerConnection;
            0   59     2           object  Ljavax/management/ObjectName;
            0   59     3        attribute  Ljava/lang/String;
           13   15     4  lookupMBeanInfo  Z
           17   59     4  lookupMBeanInfo  Z
           19   20     5              mbi  Ljavax/management/MBeanInfo;
           23   59     5              mbi  Ljavax/management/MBeanInfo;
           21   22     6                e  Ljavax/management/IntrospectionException;
           54   56     6               fa  Ljava/lang/String;
           58   59     6               fa  Ljava/lang/String;
           35   51     8        mbaiArray  [Ljavax/management/MBeanAttributeInfo;
           37   40     9             mbai  Ljavax/management/MBeanAttributeInfo;
           44   51     9           tokens  [Ljava/lang/String;
           46   50    10                i  I
      Exception table:
        from    to  target  type
           1    14      15  any
          15    16      15  any
          18    19      20  Class javax.management.IntrospectionException
          24    55      56  any
          56    57      56  any
    Exceptions:
      throws javax.management.AttributeNotFoundException, javax.management.InstanceNotFoundException, javax.management.MBeanException, javax.management.ReflectionException, java.io.IOException
    MethodParameters:
           Name  Flags
      mbsc       
      object     
      attribute  

  java.lang.Comparable<?> getComparableFromAttribute(javax.management.ObjectName, java.lang.String, );
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable;
    flags: (0x0000) 
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
        start local 2 // java.lang.String attribute
        start local 3 // java.lang.Object value
         0: .line 866
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
            ifeq 7
         1: .line 867
            aload 3 /* value */
            astore 4 /* v */
        start local 4 // java.lang.Object v
         2: .line 868
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 5
      StackMap locals: javax.management.monitor.Monitor javax.management.ObjectName java.lang.String java.lang.Object java.lang.Object top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* attr */
        start local 5 // java.lang.String attr
         4: .line 869
            aload 4 /* v */
            aload 5 /* attr */
            invokestatic com.sun.jmx.mbeanserver.Introspector.elementFromComplex:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            astore 4 /* v */
        end local 5 // java.lang.String attr
         5: .line 868
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 870
            aload 4 /* v */
            checkcast java.lang.Comparable
            areturn
        end local 4 // java.lang.Object v
         7: .line 872
      StackMap locals: javax.management.monitor.Monitor javax.management.ObjectName java.lang.String java.lang.Object
      StackMap stack:
            aload 3 /* value */
            checkcast java.lang.Comparable
            areturn
        end local 3 // java.lang.Object value
        end local 2 // java.lang.String attribute
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljavax/management/monitor/Monitor;
            0    8     1     object  Ljavax/management/ObjectName;
            0    8     2  attribute  Ljava/lang/String;
            0    8     3      value  Ljava/lang/Object;
            2    7     4          v  Ljava/lang/Object;
            4    5     5       attr  Ljava/lang/String;
    Exceptions:
      throws javax.management.AttributeNotFoundException
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable<*>;
    MethodParameters:
           Name  Flags
      object     
      attribute  
      value      

  boolean isComparableTypeValid(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
    flags: (0x0000) 
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
        start local 2 // java.lang.String attribute
        start local 3 // java.lang.Comparable value
         0: .line 879
            iconst_1
            ireturn
        end local 3 // java.lang.Comparable value
        end local 2 // java.lang.String attribute
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavax/management/monitor/Monitor;
            0    1     1     object  Ljavax/management/ObjectName;
            0    1     2  attribute  Ljava/lang/String;
            0    1     3      value  Ljava/lang/Comparable<*>;
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Z
    MethodParameters:
           Name  Flags
      object     
      attribute  
      value      

  java.lang.String buildErrorNotification(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
        start local 2 // java.lang.String attribute
        start local 3 // java.lang.Comparable value
         0: .line 885
            aconst_null
            areturn
        end local 3 // java.lang.Comparable value
        end local 2 // java.lang.String attribute
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavax/management/monitor/Monitor;
            0    1     1     object  Ljavax/management/ObjectName;
            0    1     2  attribute  Ljava/lang/String;
            0    1     3      value  Ljava/lang/Comparable<*>;
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      object     
      attribute  
      value      

  void onErrorNotification(javax.management.monitor.MonitorNotification);
    descriptor: (Ljavax/management/monitor/MonitorNotification;)V
    flags: (0x0000) 
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.MonitorNotification notification
         0: .line 889
            return
        end local 1 // javax.management.monitor.MonitorNotification notification
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljavax/management/monitor/Monitor;
            0    1     1  notification  Ljavax/management/monitor/MonitorNotification;
    MethodParameters:
              Name  Flags
      notification  

  java.lang.Comparable<?> getDerivedGaugeFromComparable(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/Comparable;
    flags: (0x0000) 
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
        start local 2 // java.lang.String attribute
        start local 3 // java.lang.Comparable value
         0: .line 894
            aload 3 /* value */
            areturn
        end local 3 // java.lang.Comparable value
        end local 2 // java.lang.String attribute
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavax/management/monitor/Monitor;
            0    1     1     object  Ljavax/management/ObjectName;
            0    1     2  attribute  Ljava/lang/String;
            0    1     3      value  Ljava/lang/Comparable<*>;
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Ljava/lang/Comparable<*>;
    MethodParameters:
           Name  Flags
      object     
      attribute  
      value      

  javax.management.monitor.MonitorNotification buildAlarmNotification(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljavax/management/monitor/MonitorNotification;
    flags: (0x0000) 
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
        start local 2 // java.lang.String attribute
        start local 3 // java.lang.Comparable value
         0: .line 900
            aconst_null
            areturn
        end local 3 // java.lang.Comparable value
        end local 2 // java.lang.String attribute
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavax/management/monitor/Monitor;
            0    1     1     object  Ljavax/management/ObjectName;
            0    1     2  attribute  Ljava/lang/String;
            0    1     3      value  Ljava/lang/Comparable<*>;
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Ljavax/management/monitor/MonitorNotification;
    MethodParameters:
           Name  Flags
      object     
      attribute  
      value      

  boolean isThresholdTypeValid(javax.management.ObjectName, java.lang.String, java.lang.Comparable<?>);
    descriptor: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
    flags: (0x0000) 
    Code:
      stack=1, locals=4, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
        start local 2 // java.lang.String attribute
        start local 3 // java.lang.Comparable value
         0: .line 906
            iconst_1
            ireturn
        end local 3 // java.lang.Comparable value
        end local 2 // java.lang.String attribute
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljavax/management/monitor/Monitor;
            0    1     1     object  Ljavax/management/ObjectName;
            0    1     2  attribute  Ljava/lang/String;
            0    1     3      value  Ljava/lang/Comparable<*>;
    Signature: (Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable<*>;)Z
    MethodParameters:
           Name  Flags
      object     
      attribute  
      value      

  static java.lang.Class<? extends java.lang.Number> classForType(javax.management.monitor.Monitor$NumericalType);
    descriptor: (Ljavax/management/monitor/Monitor$NumericalType;)Ljava/lang/Class;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor$NumericalType type
         0: .line 910
            invokestatic javax.management.monitor.Monitor.$SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType:()[I
            aload 0 /* type */
            invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
            iaload
            tableswitch { // 1 - 6
                    1: 1
                    2: 2
                    3: 3
                    4: 4
                    5: 5
                    6: 6
              default: 7
          }
         1: .line 912
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Byte;
            areturn
         2: .line 914
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Short;
            areturn
         3: .line 916
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            areturn
         4: .line 918
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            areturn
         5: .line 920
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Float;
            areturn
         6: .line 922
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            areturn
         7: .line 924
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         8: .line 925
            ldc "Unsupported numerical type"
         9: .line 924
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // javax.management.monitor.Monitor$NumericalType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  type  Ljavax/management/monitor/Monitor$NumericalType;
    Signature: (Ljavax/management/monitor/Monitor$NumericalType;)Ljava/lang/Class<+Ljava/lang/Number;>;
    MethodParameters:
      Name  Flags
      type  

  static boolean isValidForType(, java.lang.Class<? extends java.lang.Number>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object value
        start local 1 // java.lang.Class c
         0: .line 930
            aload 0 /* value */
            getstatic javax.management.monitor.Monitor.INTEGER_ZERO:Ljava/lang/Integer;
            if_acmpeq 1
            aload 1 /* c */
            aload 0 /* value */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.Class c
        end local 0 // java.lang.Object value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljava/lang/Object;
            0    2     1      c  Ljava/lang/Class<+Ljava/lang/Number;>;
    Signature: (Ljava/lang/Object;Ljava/lang/Class<+Ljava/lang/Number;>;)Z
    MethodParameters:
       Name  Flags
      value  
      c      

  synchronized javax.management.monitor.Monitor$ObservedObject getObservedObject(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 946
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: javax.management.monitor.Monitor javax.management.ObjectName top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.management.monitor.Monitor$ObservedObject
            astore 2 /* o */
        start local 2 // javax.management.monitor.Monitor$ObservedObject o
         2: .line 947
            aload 2 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
            aload 1 /* object */
            invokevirtual javax.management.ObjectName.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 948
            aload 2 /* o */
            areturn
        end local 2 // javax.management.monitor.Monitor$ObservedObject o
         4: .line 946
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 949
            aconst_null
            areturn
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljavax/management/monitor/Monitor;
            0    6     1  object  Ljavax/management/ObjectName;
            2    4     2       o  Ljavax/management/monitor/Monitor$ObservedObject;
    MethodParameters:
        Name  Flags
      object  

  javax.management.monitor.Monitor$ObservedObject createObservedObject(javax.management.ObjectName);
    descriptor: (Ljavax/management/ObjectName;)Ljavax/management/monitor/Monitor$ObservedObject;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.ObjectName object
         0: .line 958
            new javax.management.monitor.Monitor$ObservedObject
            dup
            aload 1 /* object */
            invokespecial javax.management.monitor.Monitor$ObservedObject.<init>:(Ljavax/management/ObjectName;)V
            areturn
        end local 1 // javax.management.ObjectName object
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljavax/management/monitor/Monitor;
            0    1     1  object  Ljavax/management/ObjectName;
    MethodParameters:
        Name  Flags
      object  

  synchronized void createAlreadyNotified();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 968
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            putfield javax.management.monitor.Monitor.elementCount:I
         1: .line 972
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.elementCount:I
            newarray 10
            putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
         2: .line 973
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 6
         4: .line 974
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
            iload 1 /* i */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.management.monitor.Monitor$ObservedObject
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
            iastore
         5: .line 973
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.elementCount:I
            if_icmplt 4
        end local 1 // int i
         7: .line 976
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
         8: .line 977
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljavax/management/monitor/Monitor;
            3    7     1     i  I

  synchronized void updateDeprecatedAlreadyNotified();
    descriptor: ()V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 983
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.elementCount:I
            ifle 2
         1: .line 984
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
            iconst_0
            iaload
            putfield javax.management.monitor.Monitor.alreadyNotified:I
            goto 3
         2: .line 986
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.alreadyNotified:I
         3: .line 987
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/management/monitor/Monitor;

  synchronized void updateAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int);
    descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.Monitor$ObservedObject o
        start local 2 // int index
         0: .line 996
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
            iload 2 /* index */
            aload 1 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
            iastore
         1: .line 997
            iload 2 /* index */
            ifne 3
         2: .line 998
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
         3: .line 999
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int index
        end local 1 // javax.management.monitor.Monitor$ObservedObject o
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavax/management/monitor/Monitor;
            0    4     1      o  Ljavax/management/monitor/Monitor$ObservedObject;
            0    4     2  index  I
    MethodParameters:
       Name  Flags
      o      
      index  

  synchronized boolean isAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int);
    descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.Monitor$ObservedObject o
        start local 2 // int mask
         0: .line 1006
            aload 1 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
            iload 2 /* mask */
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int mask
        end local 1 // javax.management.monitor.Monitor$ObservedObject o
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavax/management/monitor/Monitor;
            0    2     1     o  Ljavax/management/monitor/Monitor$ObservedObject;
            0    2     2  mask  I
    MethodParameters:
      Name  Flags
      o     
      mask  

  synchronized void setAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int, int, int[]);
    descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.Monitor$ObservedObject o
        start local 2 // int index
        start local 3 // int mask
        start local 4 // int[] an
         0: .line 1016
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            aload 4 /* an */
            invokevirtual javax.management.monitor.Monitor.computeAlreadyNotifiedIndex:(Ljavax/management/monitor/Monitor$ObservedObject;I[I)I
            istore 5 /* i */
        start local 5 // int i
         1: .line 1017
            iload 5 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1018
            return
         3: .line 1019
      StackMap locals: int
      StackMap stack:
            aload 1 /* o */
            aload 1 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
            iload 3 /* mask */
            ior
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         4: .line 1020
            aload 0 /* this */
            aload 1 /* o */
            iload 5 /* i */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         5: .line 1021
            return
        end local 5 // int i
        end local 4 // int[] an
        end local 3 // int mask
        end local 2 // int index
        end local 1 // javax.management.monitor.Monitor$ObservedObject o
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljavax/management/monitor/Monitor;
            0    6     1      o  Ljavax/management/monitor/Monitor$ObservedObject;
            0    6     2  index  I
            0    6     3   mask  I
            0    6     4     an  [I
            1    6     5      i  I
    MethodParameters:
       Name  Flags
      o      
      index  
      mask   
      an     

  synchronized void resetAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int, int);
    descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;II)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.Monitor$ObservedObject o
        start local 2 // int index
        start local 3 // int mask
         0: .line 1030
            aload 1 /* o */
            aload 1 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getAlreadyNotified:()I
            iload 3 /* mask */
            iconst_m1
            ixor
            iand
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         1: .line 1031
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         2: .line 1032
            return
        end local 3 // int mask
        end local 2 // int index
        end local 1 // javax.management.monitor.Monitor$ObservedObject o
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/management/monitor/Monitor;
            0    3     1      o  Ljavax/management/monitor/Monitor$ObservedObject;
            0    3     2  index  I
            0    3     3   mask  I
    MethodParameters:
       Name  Flags
      o      
      index  
      mask   

  synchronized void resetAllAlreadyNotified(javax.management.monitor.Monitor$ObservedObject, int, int[]);
    descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I[I)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.Monitor$ObservedObject o
        start local 2 // int index
        start local 3 // int[] an
         0: .line 1041
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            aload 3 /* an */
            invokevirtual javax.management.monitor.Monitor.computeAlreadyNotifiedIndex:(Ljavax/management/monitor/Monitor$ObservedObject;I[I)I
            istore 4 /* i */
        start local 4 // int i
         1: .line 1042
            iload 4 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1043
            return
         3: .line 1044
      StackMap locals: int
      StackMap stack:
            aload 1 /* o */
            iconst_0
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         4: .line 1045
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         5: .line 1046
            return
        end local 4 // int i
        end local 3 // int[] an
        end local 2 // int index
        end local 1 // javax.management.monitor.Monitor$ObservedObject o
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Ljavax/management/monitor/Monitor;
            0    6     1      o  Ljavax/management/monitor/Monitor$ObservedObject;
            0    6     2  index  I
            0    6     3     an  [I
            1    6     4      i  I
    MethodParameters:
       Name  Flags
      o      
      index  
      an     

  synchronized int computeAlreadyNotifiedIndex(javax.management.monitor.Monitor$ObservedObject, int, int[]);
    descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I[I)I
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.Monitor$ObservedObject o
        start local 2 // int index
        start local 3 // int[] an
         0: .line 1054
            aload 3 /* an */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
            if_acmpne 2
         1: .line 1055
            iload 2 /* index */
            ireturn
         2: .line 1057
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            aload 1 /* o */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            ireturn
        end local 3 // int[] an
        end local 2 // int index
        end local 1 // javax.management.monitor.Monitor$ObservedObject o
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljavax/management/monitor/Monitor;
            0    3     1      o  Ljavax/management/monitor/Monitor$ObservedObject;
            0    3     2  index  I
            0    3     3     an  [I
    MethodParameters:
       Name  Flags
      o      
      index  
      an     

  private void sendNotification(java.lang.String, long, java.lang.String, java.lang.Object, java.lang.Object, javax.management.ObjectName, boolean);
    descriptor: (Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=12, args_size=8
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // java.lang.String type
        start local 2 // long timeStamp
        start local 4 // java.lang.String msg
        start local 5 // java.lang.Object derGauge
        start local 6 // java.lang.Object trigger
        start local 7 // javax.management.ObjectName object
        start local 8 // boolean onError
         0: .line 1086
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 2
         1: .line 1087
            return
         2: .line 1089
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            invokeinterface java.lang.System$Logger.isLoggable:(Ljava/lang/System$Logger$Level;)Z
            ifeq 8
         3: .line 1090
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            new java.lang.StringBuilder
            dup
            ldc "send notification: \n\tNotification observed object = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 1091
            aload 7 /* object */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 1092
            ldc "\n\tNotification observed attribute = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 1093
            ldc "\n\tNotification derived gauge = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* derGauge */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1090
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         8: .line 1096
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.sequenceNumber:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
            lstore 9 /* seqno */
        start local 9 // long seqno
         9: .line 1099
            new javax.management.monitor.MonitorNotification
            dup
            aload 1 /* type */
        10: .line 1100
            aload 0 /* this */
        11: .line 1101
            lload 9 /* seqno */
        12: .line 1102
            lload 2 /* timeStamp */
        13: .line 1103
            aload 4 /* msg */
        14: .line 1104
            aload 7 /* object */
        15: .line 1105
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
        16: .line 1106
            aload 5 /* derGauge */
        17: .line 1107
            aload 6 /* trigger */
        18: .line 1099
            invokespecial javax.management.monitor.MonitorNotification.<init>:(Ljava/lang/String;Ljava/lang/Object;JJLjava/lang/String;Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 1098
            astore 11 /* mn */
        start local 11 // javax.management.monitor.MonitorNotification mn
        20: .line 1108
            iload 8 /* onError */
            ifeq 22
        21: .line 1109
            aload 0 /* this */
            aload 11 /* mn */
            invokevirtual javax.management.monitor.Monitor.onErrorNotification:(Ljavax/management/monitor/MonitorNotification;)V
        22: .line 1110
      StackMap locals: long javax.management.monitor.MonitorNotification
      StackMap stack:
            aload 0 /* this */
            aload 11 /* mn */
            invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljavax/management/Notification;)V
        23: .line 1111
            return
        end local 11 // javax.management.monitor.MonitorNotification mn
        end local 9 // long seqno
        end local 8 // boolean onError
        end local 7 // javax.management.ObjectName object
        end local 6 // java.lang.Object trigger
        end local 5 // java.lang.Object derGauge
        end local 4 // java.lang.String msg
        end local 2 // long timeStamp
        end local 1 // java.lang.String type
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Ljavax/management/monitor/Monitor;
            0   24     1       type  Ljava/lang/String;
            0   24     2  timeStamp  J
            0   24     4        msg  Ljava/lang/String;
            0   24     5   derGauge  Ljava/lang/Object;
            0   24     6    trigger  Ljava/lang/Object;
            0   24     7     object  Ljavax/management/ObjectName;
            0   24     8    onError  Z
            9   24     9      seqno  J
           20   24    11         mn  Ljavax/management/monitor/MonitorNotification;
    MethodParameters:
           Name  Flags
      type       
      timeStamp  
      msg        
      derGauge   
      trigger    
      object     
      onError    

  private void monitor(javax.management.monitor.Monitor$ObservedObject, int, int[]);
    descriptor: (Ljavax/management/monitor/Monitor$ObservedObject;I[I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=4
        start local 0 // javax.management.monitor.Monitor this
        start local 1 // javax.management.monitor.Monitor$ObservedObject o
        start local 2 // int index
        start local 3 // int[] an
         0: .line 1121
            aconst_null
            astore 5 /* notifType */
        start local 5 // java.lang.String notifType
         1: .line 1122
            aconst_null
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         2: .line 1123
            aconst_null
            astore 7 /* derGauge */
        start local 7 // java.lang.Object derGauge
         3: .line 1124
            aconst_null
            astore 8 /* trigger */
        start local 8 // java.lang.Object trigger
         4: .line 1126
            aconst_null
            astore 10 /* value */
        start local 10 // java.lang.Comparable value
         5: .line 1127
            aconst_null
            astore 11 /* alarm */
        start local 11 // javax.management.monitor.MonitorNotification alarm
         6: .line 1129
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 8
         7: .line 1130
            return
         8: .line 1138
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] top java.lang.String java.lang.String java.lang.Object java.lang.Object top java.lang.Comparable javax.management.monitor.MonitorNotification
      StackMap stack:
            aload 0 /* this */
            dup
            astore 12
            monitorenter
         9: .line 1139
            aload 1 /* o */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.getObservedObject:()Ljavax/management/ObjectName;
            astore 9 /* object */
        start local 9 // javax.management.ObjectName object
        10: .line 1140
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
            astore 4 /* attribute */
        start local 4 // java.lang.String attribute
        11: .line 1141
            aload 9 /* object */
            ifnull 12
            aload 4 /* attribute */
            ifnonnull 14
        12: .line 1142
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification javax.management.monitor.Monitor
      StackMap stack:
            aload 12
            monitorexit
        13: return
        14: .line 1138
      StackMap locals:
      StackMap stack:
            aload 12
            monitorexit
        15: goto 18
        end local 9 // javax.management.ObjectName object
        end local 4 // java.lang.String attribute
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] top java.lang.String java.lang.String java.lang.Object java.lang.Object top java.lang.Comparable javax.management.monitor.MonitorNotification javax.management.monitor.Monitor
      StackMap stack: java.lang.Throwable
        16: aload 12
            monitorexit
        17: athrow
        start local 4 // java.lang.String attribute
        start local 9 // javax.management.ObjectName object
        18: .line 1150
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification
      StackMap stack:
            aconst_null
            astore 12 /* attributeValue */
        start local 12 // java.lang.Object attributeValue
        19: .line 1152
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.server:Ljavax/management/MBeanServer;
            aload 9 /* object */
            aload 4 /* attribute */
            invokevirtual javax.management.monitor.Monitor.getAttribute:(Ljavax/management/MBeanServerConnection;Ljavax/management/ObjectName;Ljava/lang/String;)Ljava/lang/Object;
            astore 12 /* attributeValue */
        20: .line 1153
            aload 12 /* attributeValue */
            ifnonnull 110
        21: .line 1154
            aload 0 /* this */
        22: .line 1155
            aload 1 /* o */
            iconst_4
        23: .line 1154
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
        24: .line 1155
            ifeq 26
        25: .line 1156
            return
        26: .line 1158
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
        27: .line 1159
            aload 0 /* this */
        28: .line 1160
            aload 1 /* o */
            iload 2 /* index */
            iconst_4
            aload 3 /* an */
        29: .line 1159
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        30: .line 1161
            ldc "The observed attribute value is null."
            astore 6 /* msg */
        31: .line 1162
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        32: .line 1164
            goto 110
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
        33: astore 13 /* np_ex */
        start local 13 // java.lang.NullPointerException np_ex
        34: .line 1165
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 36
        35: .line 1166
            return
        36: .line 1168
      StackMap locals: java.lang.NullPointerException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        37: .line 1169
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            bipush 8
            aload 3 /* an */
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        38: .line 1171
            ldc "The monitor must be registered in the MBean server or an MBeanServerConnection must be explicitly supplied."
        39: .line 1170
            astore 6 /* msg */
        40: .line 1174
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        41: .line 1175
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 13 /* np_ex */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljava/lang/NullPointerException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 13 // java.lang.NullPointerException np_ex
        42: goto 110
        43: .line 1177
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
      StackMap stack: javax.management.InstanceNotFoundException
            astore 13 /* inf_ex */
        start local 13 // javax.management.InstanceNotFoundException inf_ex
        44: .line 1178
            aload 0 /* this */
            aload 1 /* o */
            iconst_1
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 46
        45: .line 1179
            return
        46: .line 1181
      StackMap locals: javax.management.InstanceNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.mbean"
            astore 5 /* notifType */
        47: .line 1182
            aload 0 /* this */
        48: .line 1183
            aload 1 /* o */
            iload 2 /* index */
            iconst_1
            aload 3 /* an */
        49: .line 1182
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        50: .line 1185
            ldc "The observed object must be accessible in the MBeanServerConnection."
        51: .line 1184
            astore 6 /* msg */
        52: .line 1187
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        53: .line 1188
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 13 /* inf_ex */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljavax/management/InstanceNotFoundException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 13 // javax.management.InstanceNotFoundException inf_ex
        54: goto 110
        55: .line 1190
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
      StackMap stack: javax.management.AttributeNotFoundException
            astore 13 /* anf_ex */
        start local 13 // javax.management.AttributeNotFoundException anf_ex
        56: .line 1191
            aload 0 /* this */
            aload 1 /* o */
            iconst_2
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 58
        57: .line 1192
            return
        58: .line 1194
      StackMap locals: javax.management.AttributeNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.attribute"
            astore 5 /* notifType */
        59: .line 1195
            aload 0 /* this */
        60: .line 1196
            aload 1 /* o */
            iload 2 /* index */
            iconst_2
            aload 3 /* an */
        61: .line 1195
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        62: .line 1198
            ldc "The observed attribute must be accessible in the observed object."
        63: .line 1197
            astore 6 /* msg */
        64: .line 1200
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        65: .line 1201
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 13 /* anf_ex */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljavax/management/AttributeNotFoundException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 13 // javax.management.AttributeNotFoundException anf_ex
        66: goto 110
        67: .line 1203
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
      StackMap stack: javax.management.MBeanException
            astore 13 /* mb_ex */
        start local 13 // javax.management.MBeanException mb_ex
        68: .line 1204
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 70
        69: .line 1205
            return
        70: .line 1207
      StackMap locals: javax.management.MBeanException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        71: .line 1208
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            bipush 8
            aload 3 /* an */
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        72: .line 1209
            aload 13 /* mb_ex */
            invokevirtual javax.management.MBeanException.getMessage:()Ljava/lang/String;
            ifnonnull 73
            ldc ""
            goto 74
      StackMap locals:
      StackMap stack:
        73: aload 13 /* mb_ex */
            invokevirtual javax.management.MBeanException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        74: astore 6 /* msg */
        75: .line 1210
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        76: .line 1211
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 13 /* mb_ex */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljavax/management/MBeanException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 13 // javax.management.MBeanException mb_ex
        77: goto 110
        78: .line 1213
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
      StackMap stack: javax.management.ReflectionException
            astore 13 /* ref_ex */
        start local 13 // javax.management.ReflectionException ref_ex
        79: .line 1214
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 81
        80: .line 1215
            return
        81: .line 1217
      StackMap locals: javax.management.ReflectionException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        82: .line 1218
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            bipush 8
            aload 3 /* an */
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        83: .line 1219
            aload 13 /* ref_ex */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            ifnonnull 84
            ldc ""
            goto 85
      StackMap locals:
      StackMap stack:
        84: aload 13 /* ref_ex */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        85: astore 6 /* msg */
        86: .line 1220
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        87: .line 1221
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 13 /* ref_ex */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljavax/management/ReflectionException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 13 // javax.management.ReflectionException ref_ex
        88: goto 110
        89: .line 1223
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
      StackMap stack: java.io.IOException
            astore 13 /* io_ex */
        start local 13 // java.io.IOException io_ex
        90: .line 1224
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 92
        91: .line 1225
            return
        92: .line 1227
      StackMap locals: java.io.IOException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        93: .line 1228
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            bipush 8
            aload 3 /* an */
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        94: .line 1229
            aload 13 /* io_ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            ifnonnull 95
            ldc ""
            goto 96
      StackMap locals:
      StackMap stack:
        95: aload 13 /* io_ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        96: astore 6 /* msg */
        97: .line 1230
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        98: .line 1231
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 13 /* io_ex */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljava/io/IOException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 13 // java.io.IOException io_ex
        99: goto 110
       100: .line 1233
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object
      StackMap stack: java.lang.RuntimeException
            astore 13 /* rt_ex */
        start local 13 // java.lang.RuntimeException rt_ex
       101: .line 1234
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 103
       102: .line 1235
            return
       103: .line 1237
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       104: .line 1238
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            bipush 8
            aload 3 /* an */
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       105: .line 1239
            aload 13 /* rt_ex */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            ifnonnull 106
            ldc ""
            goto 107
      StackMap locals:
      StackMap stack:
       106: aload 13 /* rt_ex */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       107: astore 6 /* msg */
       108: .line 1240
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
       109: .line 1241
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 13 /* rt_ex */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljava/lang/RuntimeException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 13 // java.lang.RuntimeException rt_ex
       110: .line 1245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 13
            monitorenter
       111: .line 1249
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 114
       112: .line 1250
            aload 13
            monitorexit
       113: return
       114: .line 1259
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 4 /* attribute */
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 117
       115: .line 1260
            aload 13
            monitorexit
       116: return
       117: .line 1265
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 165
       118: .line 1267
            aload 0 /* this */
            aload 9 /* object */
       119: .line 1268
            aload 4 /* attribute */
       120: .line 1269
            aload 12 /* attributeValue */
       121: .line 1267
            invokevirtual javax.management.monitor.Monitor.getComparableFromAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable;
            astore 10 /* value */
       122: .line 1270
            goto 165
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
       123: astore 14 /* e */
        start local 14 // java.lang.ClassCastException e
       124: .line 1271
            aload 0 /* this */
       125: .line 1272
            aload 1 /* o */
            iconst_4
       126: .line 1271
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
       127: .line 1272
            ifeq 130
       128: .line 1273
            aload 13
            monitorexit
       129: return
       130: .line 1275
      StackMap locals: java.lang.ClassCastException
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
       131: .line 1276
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       132: .line 1277
            iconst_4
            aload 3 /* an */
       133: .line 1276
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       134: .line 1279
            ldc "The observed attribute value does not implement the Comparable interface."
       135: .line 1278
            astore 6 /* msg */
       136: .line 1281
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
       137: .line 1282
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 14 /* e */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljava/lang/ClassCastException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 14 // java.lang.ClassCastException e
       138: goto 165
       139: .line 1284
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object javax.management.monitor.Monitor
      StackMap stack: javax.management.AttributeNotFoundException
            astore 14 /* e */
        start local 14 // javax.management.AttributeNotFoundException e
       140: .line 1285
            aload 0 /* this */
            aload 1 /* o */
            iconst_2
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 143
       141: .line 1286
            aload 13
            monitorexit
       142: return
       143: .line 1288
      StackMap locals: javax.management.AttributeNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.attribute"
            astore 5 /* notifType */
       144: .line 1289
            aload 0 /* this */
       145: .line 1290
            aload 1 /* o */
            iload 2 /* index */
            iconst_2
            aload 3 /* an */
       146: .line 1289
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       147: .line 1292
            ldc "The observed attribute must be accessible in the observed object."
       148: .line 1291
            astore 6 /* msg */
       149: .line 1294
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
       150: .line 1295
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 14 /* e */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljavax/management/AttributeNotFoundException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 14 // javax.management.AttributeNotFoundException e
       151: goto 165
       152: .line 1297
      StackMap locals: javax.management.monitor.Monitor javax.management.monitor.Monitor$ObservedObject int int[] java.lang.String java.lang.String java.lang.String java.lang.Object java.lang.Object javax.management.ObjectName java.lang.Comparable javax.management.monitor.MonitorNotification java.lang.Object javax.management.monitor.Monitor
      StackMap stack: java.lang.RuntimeException
            astore 14 /* e */
        start local 14 // java.lang.RuntimeException e
       153: .line 1298
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 156
       154: .line 1299
            aload 13
            monitorexit
       155: return
       156: .line 1301
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       157: .line 1302
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       158: .line 1303
            bipush 8
            aload 3 /* an */
       159: .line 1302
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       160: .line 1304
            aload 14 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            ifnonnull 161
            ldc ""
            goto 162
      StackMap locals:
      StackMap stack:
       161: aload 14 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       162: astore 6 /* msg */
       163: .line 1305
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
       164: .line 1306
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 14 /* e */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic get(Ljava/lang/RuntimeException;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/lang/Throwable.toString()Ljava/lang/String; (5)
                  ()Ljava/lang/String;
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/util/function/Supplier;)V
        end local 14 // java.lang.RuntimeException e
       165: .line 1314
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 179
       166: .line 1315
            aload 0 /* this */
            aload 9 /* object */
            aload 4 /* attribute */
            aload 10 /* value */
            invokevirtual javax.management.monitor.Monitor.isComparableTypeValid:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
            ifne 179
       167: .line 1316
            aload 0 /* this */
       168: .line 1317
            aload 1 /* o */
            iconst_4
       169: .line 1316
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
       170: .line 1317
            ifeq 173
       171: .line 1318
            aload 13
            monitorexit
       172: return
       173: .line 1320
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
       174: .line 1321
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       175: .line 1322
            iconst_4
            aload 3 /* an */
       176: .line 1321
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       177: .line 1323
            ldc "The observed attribute type is not valid."
            astore 6 /* msg */
       178: .line 1324
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
       179: .line 1331
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 190
       180: .line 1332
            aload 0 /* this */
            aload 9 /* object */
            aload 4 /* attribute */
            aload 10 /* value */
            invokevirtual javax.management.monitor.Monitor.isThresholdTypeValid:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Z
            ifne 190
       181: .line 1333
            aload 0 /* this */
            aload 1 /* o */
            bipush 16
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 184
       182: .line 1334
            aload 13
            monitorexit
       183: return
       184: .line 1336
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.threshold"
            astore 5 /* notifType */
       185: .line 1337
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       186: .line 1338
            bipush 16
            aload 3 /* an */
       187: .line 1337
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       188: .line 1339
            ldc "The threshold type is not valid."
            astore 6 /* msg */
       189: .line 1340
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
       190: .line 1348
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 201
       191: .line 1349
            aload 0 /* this */
            aload 9 /* object */
            aload 4 /* attribute */
            aload 10 /* value */
            invokevirtual javax.management.monitor.Monitor.buildErrorNotification:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/String;
            astore 6 /* msg */
       192: .line 1350
            aload 6 /* msg */
            ifnull 201
       193: .line 1351
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 196
       194: .line 1352
            aload 13
            monitorexit
       195: return
       196: .line 1354
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       197: .line 1355
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       198: .line 1356
            bipush 8
            aload 3 /* an */
       199: .line 1355
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       200: .line 1357
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/lang/System$Logger;
            getstatic java.lang.System$Logger$Level.TRACE:Ljava/lang/System$Logger$Level;
            aload 6 /* msg */
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
       201: .line 1365
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 213
       202: .line 1368
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            aload 3 /* an */
            invokevirtual javax.management.monitor.Monitor.resetAllAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I[I)V
       203: .line 1372
            aload 0 /* this */
            aload 9 /* object */
       204: .line 1373
            aload 4 /* attribute */
       205: .line 1374
            aload 10 /* value */
       206: .line 1372
            invokevirtual javax.management.monitor.Monitor.getDerivedGaugeFromComparable:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/Comparable;
            astore 7 /* derGauge */
       207: .line 1376
            aload 1 /* o */
            aload 7 /* derGauge */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGauge:(Ljava/lang/Object;)V
       208: .line 1377
            aload 1 /* o */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
       209: .line 1381
            aload 0 /* this */
            aload 9 /* object */
       210: .line 1382
            aload 4 /* attribute */
       211: .line 1383
            aload 7 /* derGauge */
            checkcast java.lang.Comparable
       212: .line 1381
            invokevirtual javax.management.monitor.Monitor.buildAlarmNotification:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljavax/management/monitor/MonitorNotification;
            astore 11 /* alarm */
       213: .line 1245
      StackMap locals:
      StackMap stack:
            aload 13
            monitorexit
       214: goto 217
      StackMap locals:
      StackMap stack: java.lang.Throwable
       215: aload 13
            monitorexit
       216: athrow
       217: .line 1390
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnull 226
       218: .line 1391
            aload 0 /* this */
            aload 5 /* notifType */
       219: .line 1392
            invokestatic java.lang.System.currentTimeMillis:()J
       220: .line 1393
            aload 6 /* msg */
       221: .line 1394
            aload 7 /* derGauge */
       222: .line 1395
            aload 8 /* trigger */
       223: .line 1396
            aload 9 /* object */
       224: .line 1397
            iconst_1
       225: .line 1391
            invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
       226: .line 1401
      StackMap locals:
      StackMap stack:
            aload 11 /* alarm */
            ifnull 235
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getType:()Ljava/lang/String;
            ifnull 235
       227: .line 1402
            aload 0 /* this */
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getType:()Ljava/lang/String;
       228: .line 1403
            invokestatic java.lang.System.currentTimeMillis:()J
       229: .line 1404
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getMessage:()Ljava/lang/String;
       230: .line 1405
            aload 7 /* derGauge */
       231: .line 1406
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getTrigger:()Ljava/lang/Object;
       232: .line 1407
            aload 9 /* object */
       233: .line 1408
            iconst_0
       234: .line 1402
            invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
       235: .line 1409
      StackMap locals:
      StackMap stack:
            return
        end local 12 // java.lang.Object attributeValue
        end local 11 // javax.management.monitor.MonitorNotification alarm
        end local 10 // java.lang.Comparable value
        end local 9 // javax.management.ObjectName object
        end local 8 // java.lang.Object trigger
        end local 7 // java.lang.Object derGauge
        end local 6 // java.lang.String msg
        end local 5 // java.lang.String notifType
        end local 4 // java.lang.String attribute
        end local 3 // int[] an
        end local 2 // int index
        end local 1 // javax.management.monitor.Monitor$ObservedObject o
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  236     0            this  Ljavax/management/monitor/Monitor;
            0  236     1               o  Ljavax/management/monitor/Monitor$ObservedObject;
            0  236     2           index  I
            0  236     3              an  [I
           11   16     4       attribute  Ljava/lang/String;
           18  236     4       attribute  Ljava/lang/String;
            1  236     5       notifType  Ljava/lang/String;
            2  236     6             msg  Ljava/lang/String;
            3  236     7        derGauge  Ljava/lang/Object;
            4  236     8         trigger  Ljava/lang/Object;
           10   16     9          object  Ljavax/management/ObjectName;
           18  236     9          object  Ljavax/management/ObjectName;
            5  236    10           value  Ljava/lang/Comparable<*>;
            6  236    11           alarm  Ljavax/management/monitor/MonitorNotification;
           19  236    12  attributeValue  Ljava/lang/Object;
           34   42    13           np_ex  Ljava/lang/NullPointerException;
           44   54    13          inf_ex  Ljavax/management/InstanceNotFoundException;
           56   66    13          anf_ex  Ljavax/management/AttributeNotFoundException;
           68   77    13           mb_ex  Ljavax/management/MBeanException;
           79   88    13          ref_ex  Ljavax/management/ReflectionException;
           90   99    13           io_ex  Ljava/io/IOException;
          101  110    13           rt_ex  Ljava/lang/RuntimeException;
          124  138    14               e  Ljava/lang/ClassCastException;
          140  151    14               e  Ljavax/management/AttributeNotFoundException;
          153  165    14               e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           9    13      16  any
          14    15      16  any
          16    17      16  any
          19    25      33  Class java.lang.NullPointerException
          26    32      33  Class java.lang.NullPointerException
          19    25      43  Class javax.management.InstanceNotFoundException
          26    32      43  Class javax.management.InstanceNotFoundException
          19    25      55  Class javax.management.AttributeNotFoundException
          26    32      55  Class javax.management.AttributeNotFoundException
          19    25      67  Class javax.management.MBeanException
          26    32      67  Class javax.management.MBeanException
          19    25      78  Class javax.management.ReflectionException
          26    32      78  Class javax.management.ReflectionException
          19    25      89  Class java.io.IOException
          26    32      89  Class java.io.IOException
          19    25     100  Class java.lang.RuntimeException
          26    32     100  Class java.lang.RuntimeException
         118   122     123  Class java.lang.ClassCastException
         118   122     139  Class javax.management.AttributeNotFoundException
         118   122     152  Class java.lang.RuntimeException
         111   113     215  any
         114   116     215  any
         117   129     215  any
         130   142     215  any
         143   155     215  any
         156   172     215  any
         173   183     215  any
         184   195     215  any
         196   214     215  any
         215   216     215  any
    MethodParameters:
       Name  Flags
      o      
      index  
      an     

  private synchronized void cleanupFutures();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 1415
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
            ifnull 3
         1: .line 1416
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
            iconst_0
            invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
            pop
         2: .line 1417
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
         3: .line 1419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
            ifnull 6
         4: .line 1420
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
            iconst_0
            invokeinterface java.util.concurrent.Future.cancel:(Z)Z
            pop
         5: .line 1421
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
         6: .line 1423
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavax/management/monitor/Monitor;

  private synchronized void cleanupIsComplexTypeAttribute();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 1429
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
         1: .line 1430
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         2: .line 1431
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
         3: .line 1432
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavax/management/monitor/Monitor;

  static int[] $SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 75
            getstatic javax.management.monitor.Monitor.$SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.management.monitor.Monitor$NumericalType.values:()[Ljavax/management/monitor/Monitor$NumericalType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.management.monitor.Monitor$NumericalType.BYTE:Ljavax/management/monitor/Monitor$NumericalType;
            invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.management.monitor.Monitor$NumericalType.DOUBLE:Ljavax/management/monitor/Monitor$NumericalType;
            invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
            bipush 6
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.management.monitor.Monitor$NumericalType.FLOAT:Ljavax/management/monitor/Monitor$NumericalType;
            invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.management.monitor.Monitor$NumericalType.INTEGER:Ljavax/management/monitor/Monitor$NumericalType;
            invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
            iconst_3
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.management.monitor.Monitor$NumericalType.LONG:Ljavax/management/monitor/Monitor$NumericalType;
            invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.management.monitor.Monitor$NumericalType.SHORT:Ljavax/management/monitor/Monitor$NumericalType;
            invokevirtual javax.management.monitor.Monitor$NumericalType.ordinal:()I
            iconst_2
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            dup
            putstatic javax.management.monitor.Monitor.$SWITCH_TABLE$javax$management$monitor$Monitor$NumericalType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
}
SourceFile: "Monitor.java"
NestMembers:
  javax.management.monitor.Monitor$DaemonThreadFactory  javax.management.monitor.Monitor$MonitorTask  javax.management.monitor.Monitor$MonitorTask$1  javax.management.monitor.Monitor$NumericalType  javax.management.monitor.Monitor$ObservedObject  javax.management.monitor.Monitor$SchedulerTask
InnerClasses:
  public abstract Logger = java.lang.System$Logger of java.lang.System
  public final Level = java.lang.System$Logger$Level of java.lang.System$Logger
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private DaemonThreadFactory = javax.management.monitor.Monitor$DaemonThreadFactory of javax.management.monitor.Monitor
  private MonitorTask = javax.management.monitor.Monitor$MonitorTask of javax.management.monitor.Monitor
  final NumericalType = javax.management.monitor.Monitor$NumericalType of javax.management.monitor.Monitor
  ObservedObject = javax.management.monitor.Monitor$ObservedObject of javax.management.monitor.Monitor
  private SchedulerTask = javax.management.monitor.Monitor$SchedulerTask of javax.management.monitor.Monitor