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 170
            new java.security.AccessControlContext
            dup
         1: .line 171
            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 170
            invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
         3: .line 169
            putstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
         4: .line 179
            new javax.management.monitor.Monitor$DaemonThreadFactory
            dup
            ldc "Scheduler"
            invokespecial javax.management.monitor.Monitor$DaemonThreadFactory.<init>:(Ljava/lang/String;)V
         5: .line 178
            invokestatic java.util.concurrent.Executors.newSingleThreadScheduledExecutor:(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
         6: .line 177
            putstatic javax.management.monitor.Monitor.scheduler:Ljava/util/concurrent/ScheduledExecutorService;
         7: .line 185
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
         8: .line 184
            putstatic javax.management.monitor.Monitor.executors:Ljava/util/Map;
         9: .line 190
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic javax.management.monitor.Monitor.executorsLock:Ljava/lang/Object;
        10: .line 199
            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 198
            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 200
            aload 0 /* maximumPoolSizeStr */
            ifnull 14
        13: .line 201
            aload 0 /* maximumPoolSizeStr */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 16
        14: .line 202
      StackMap locals: java.lang.String
      StackMap stack:
            bipush 10
            putstatic javax.management.monitor.Monitor.maximumPoolSize:I
        15: .line 203
            goto 33
        16: .line 204
      StackMap locals:
      StackMap stack:
            bipush 10
            istore 1 /* maximumPoolSizeTmp */
        start local 1 // int maximumPoolSizeTmp
        17: .line 206
            aload 0 /* maximumPoolSizeStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 1 /* maximumPoolSizeTmp */
        18: .line 207
            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 208
            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 209
            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 210
            ldc "Wrong value for jmx.x.monitor.maximum.pool.size system property"
        23: .line 211
            aload 2 /* e */
        24: .line 209
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
        25: .line 212
            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 213
            ldc "jmx.x.monitor.maximum.pool.size defaults to 10"
        27: .line 212
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
        28: .line 215
      StackMap locals: java.lang.NumberFormatException
      StackMap stack:
            bipush 10
            istore 1 /* maximumPoolSizeTmp */
        end local 2 // java.lang.NumberFormatException e
        29: .line 217
      StackMap locals:
      StackMap stack:
            iload 1 /* maximumPoolSizeTmp */
            iconst_1
            if_icmpge 32
        30: .line 218
            iconst_1
            putstatic javax.management.monitor.Monitor.maximumPoolSize:I
        31: .line 219
            goto 33
        32: .line 220
      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 366
      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 75
            aload 0 /* this */
            invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
         1: .line 135
            aload 0 /* this */
            ldc 10000
            putfield javax.management.monitor.Monitor.granularityPeriod:J
         2: .line 141
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isActive:Z
         3: .line 147
            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 153
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
         5: .line 163
            aload 0 /* this */
         6: .line 164
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
         7: .line 172
            aload 0 /* this */
            getstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
         8: .line 233
            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 257
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.elementCount:I
        10: .line 264
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.alreadyNotified:I
        11: .line 276
            aload 0 /* this */
            bipush 16
            newarray 10
            putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
        12: .line 336
            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 347
            aload 0 /* this */
        14: .line 348
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
        15: .line 75
            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 392
            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 393
            ldc "initialize the reference on the MBean server"
         2: .line 392
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         3: .line 395
            aload 0 /* this */
            aload 1 /* server */
            putfield javax.management.monitor.Monitor.server:Ljavax/management/MBeanServer;
         4: .line 396
            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 407
            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 419
            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 423
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.stop:()V
         2: .line 424
            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 433
            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 460
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 461
            aconst_null
            areturn
         2: .line 463
      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 482
            aload 1 /* object */
            ifnonnull 2
         1: .line 483
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed object"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 484
      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 485
            return
         4: .line 486
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         5: .line 487
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.addObservedObject:(Ljavax/management/ObjectName;)V
         6: .line 488
            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 501
            aload 1 /* object */
            ifnonnull 2
         1: .line 502
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed object"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.containsObservedObject:(Ljavax/management/ObjectName;)Z
            ifeq 4
         3: .line 508
            return
         4: .line 512
      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 513
            aload 2 /* o */
            iconst_0
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         6: .line 514
            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 515
            aload 2 /* o */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
         8: .line 516
            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 520
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
        10: .line 521
            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 532
            aload 1 /* object */
            ifnonnull 2
         1: .line 533
            return
         2: .line 535
      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 536
            aload 2 /* o */
            ifnull 6
         4: .line 539
            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 542
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
         6: .line 544
      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 555
            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 565
            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 566
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 567
      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 566
            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 568
            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 580
            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 596
            aload 1 /* attribute */
            ifnonnull 2
         1: .line 597
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed attribute"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 603
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
            ifnull 7
         4: .line 604
            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 605
            aload 2
            monitorexit
         6: return
         7: .line 606
      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 611
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
         9: .line 613
            iconst_0
            istore 3 /* index */
        start local 3 // int index
        10: .line 614
            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 615
            aload 0 /* this */
            aload 4 /* o */
            iload 3 /* index */
            iinc 3 /* index */ 1
        13: .line 616
            bipush 6
        14: .line 615
            invokevirtual javax.management.monitor.Monitor.resetAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II)V
        end local 4 // javax.management.monitor.Monitor$ObservedObject o
        15: .line 614
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // int index
        16: .line 602
            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 620
      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 631
            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 647
            lload 1 /* period */
            lconst_0
            lcmp
            ifgt 2
         1: .line 648
            new java.lang.IllegalArgumentException
            dup
            ldc "Nonpositive granularity period"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 652
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.granularityPeriod:J
            lload 1 /* period */
            lcmp
            ifne 4
         3: .line 653
            return
         4: .line 654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* period */
            putfield javax.management.monitor.Monitor.granularityPeriod:J
         5: .line 658
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifeq 11
         6: .line 659
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
         7: .line 660
            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 661
            lload 1 /* period */
         9: .line 662
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        10: .line 660
            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 664
      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 679
            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 692
            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 694
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 695
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifeq 6
         3: .line 696
            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 697
            aload 1
            monitorexit
         5: return
         6: .line 700
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.management.monitor.Monitor.isActive:Z
         7: .line 705
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
         8: .line 710
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
         9: .line 714
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
        10: .line 715
            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 716
            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 717
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getGranularityPeriod:()J
        13: .line 718
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        14: .line 716
            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 694
            aload 1
            monitorexit
        16: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 1
            monitorexit
        18: athrow
        19: .line 720
      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 726
            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 728
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         2: .line 729
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 6
         3: .line 730
            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 731
            aload 1
            monitorexit
         5: return
         6: .line 734
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isActive:Z
         7: .line 739
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
         8: .line 743
            aload 0 /* this */
            getstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
         9: .line 748
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
        10: .line 728
            aload 1
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 1
            monitorexit
        13: athrow
        14: .line 750
      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 764
            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 765
            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 780
            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 781
            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 798
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         1: .line 799
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 5
         2: .line 800
            new java.lang.IllegalArgumentException
            dup
         3: .line 801
            ldc "The monitor has been stopped"
         4: .line 800
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 802
      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 803
            new java.lang.IllegalArgumentException
            dup
         7: .line 804
            ldc "The observed attribute has been changed"
         8: .line 803
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 806
      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 805
            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 798
            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 812
      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 814
            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 815
            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 816
            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 819
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* mbi */
        start local 5 // javax.management.MBeanInfo mbi
        23: .line 825
      StackMap locals: javax.management.MBeanInfo
      StackMap stack:
            aload 0 /* this */
            dup
            astore 7
            monitorenter
        24: .line 826
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 28
        25: .line 827
            new java.lang.IllegalArgumentException
            dup
        26: .line 828
            ldc "The monitor has been stopped"
        27: .line 827
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 829
      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 830
            new java.lang.IllegalArgumentException
            dup
        30: .line 831
            ldc "The observed attribute has been changed"
        31: .line 830
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
            ifnonnull 53
        33: .line 833
            aload 3 /* attribute */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 52
        34: .line 834
            aload 5 /* mbi */
            invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
            astore 8 /* mbaiArray */
        start local 8 // javax.management.MBeanAttributeInfo[] mbaiArray
        35: .line 835
            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 836
            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 837
            aload 0 /* this */
            aload 3 /* attribute */
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        39: .line 838
            goto 42
        end local 9 // javax.management.MBeanAttributeInfo mbai
        40: .line 835
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        41: iload 10
            iload 11
            if_icmplt 36
        42: .line 841
      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 842
            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 843
            aload 0 /* this */
            aload 9 /* tokens */
            iconst_0
            aaload
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        45: .line 844
            iconst_1
            istore 10 /* i */
        start local 10 // int i
        46: goto 49
        47: .line 845
      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 844
            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 846
            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 848
            goto 53
        52: .line 849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* attribute */
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        53: .line 852
      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 825
            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 854
      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 861
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
            ifeq 7
         1: .line 862
            aload 3 /* value */
            astore 4 /* v */
        start local 4 // java.lang.Object v
         2: .line 863
            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 864
            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 863
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 865
            aload 4 /* v */
            checkcast java.lang.Comparable
            areturn
        end local 4 // java.lang.Object v
         7: .line 867
      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 874
            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 880
            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 884
            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 889
            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 895
            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 901
            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 905
            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 907
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Byte;
            areturn
         2: .line 909
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Short;
            areturn
         3: .line 911
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            areturn
         4: .line 913
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            areturn
         5: .line 915
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Float;
            areturn
         6: .line 917
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            areturn
         7: .line 919
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         8: .line 920
            ldc "Unsupported numerical type"
         9: .line 919
            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 925
            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 941
            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 942
            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 943
            aload 2 /* o */
            areturn
        end local 2 // javax.management.monitor.Monitor$ObservedObject o
         4: .line 941
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 944
            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 953
            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 963
            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 967
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.elementCount:I
            newarray 10
            putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
         2: .line 968
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 6
         4: .line 969
      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 968
            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 971
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
         8: .line 972
            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 978
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.elementCount:I
            ifle 2
         1: .line 979
            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 981
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.alreadyNotified:I
         3: .line 982
      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 991
            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 992
            iload 2 /* index */
            ifne 3
         2: .line 993
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
         3: .line 994
      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 1001
            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 1011
            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 1012
            iload 5 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1013
            return
         3: .line 1014
      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 1015
            aload 0 /* this */
            aload 1 /* o */
            iload 5 /* i */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         5: .line 1016
            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 1025
            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 1026
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         2: .line 1027
            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 1036
            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 1037
            iload 4 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1038
            return
         3: .line 1039
      StackMap locals: int
      StackMap stack:
            aload 1 /* o */
            iconst_0
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         4: .line 1040
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         5: .line 1041
            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 1049
            aload 3 /* an */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
            if_acmpne 2
         1: .line 1050
            iload 2 /* index */
            ireturn
         2: .line 1052
      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 1081
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 2
         1: .line 1082
            return
         2: .line 1084
      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 1085
            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 1086
            aload 7 /* object */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 1087
            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 1088
            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 1085
            invokeinterface java.lang.System$Logger.log:(Ljava/lang/System$Logger$Level;Ljava/lang/String;)V
         8: .line 1091
      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 1094
            new javax.management.monitor.MonitorNotification
            dup
            aload 1 /* type */
        10: .line 1095
            aload 0 /* this */
        11: .line 1096
            lload 9 /* seqno */
        12: .line 1097
            lload 2 /* timeStamp */
        13: .line 1098
            aload 4 /* msg */
        14: .line 1099
            aload 7 /* object */
        15: .line 1100
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
        16: .line 1101
            aload 5 /* derGauge */
        17: .line 1102
            aload 6 /* trigger */
        18: .line 1094
            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 1093
            astore 11 /* mn */
        start local 11 // javax.management.monitor.MonitorNotification mn
        20: .line 1103
            iload 8 /* onError */
            ifeq 22
        21: .line 1104
            aload 0 /* this */
            aload 11 /* mn */
            invokevirtual javax.management.monitor.Monitor.onErrorNotification:(Ljavax/management/monitor/MonitorNotification;)V
        22: .line 1105
      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 1106
            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 1116
            aconst_null
            astore 5 /* notifType */
        start local 5 // java.lang.String notifType
         1: .line 1117
            aconst_null
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         2: .line 1118
            aconst_null
            astore 7 /* derGauge */
        start local 7 // java.lang.Object derGauge
         3: .line 1119
            aconst_null
            astore 8 /* trigger */
        start local 8 // java.lang.Object trigger
         4: .line 1121
            aconst_null
            astore 10 /* value */
        start local 10 // java.lang.Comparable value
         5: .line 1122
            aconst_null
            astore 11 /* alarm */
        start local 11 // javax.management.monitor.MonitorNotification alarm
         6: .line 1124
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 8
         7: .line 1125
            return
         8: .line 1133
      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 1134
            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 1135
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
            astore 4 /* attribute */
        start local 4 // java.lang.String attribute
        11: .line 1136
            aload 9 /* object */
            ifnull 12
            aload 4 /* attribute */
            ifnonnull 14
        12: .line 1137
      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 1133
      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 1145
      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 1147
            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 1148
            aload 12 /* attributeValue */
            ifnonnull 110
        21: .line 1149
            aload 0 /* this */
        22: .line 1150
            aload 1 /* o */
            iconst_4
        23: .line 1149
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
        24: .line 1150
            ifeq 26
        25: .line 1151
            return
        26: .line 1153
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
        27: .line 1154
            aload 0 /* this */
        28: .line 1155
            aload 1 /* o */
            iload 2 /* index */
            iconst_4
            aload 3 /* an */
        29: .line 1154
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        30: .line 1156
            ldc "The observed attribute value is null."
            astore 6 /* msg */
        31: .line 1157
            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 1159
            goto 110
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
        33: astore 13 /* np_ex */
        start local 13 // java.lang.NullPointerException np_ex
        34: .line 1160
            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 1161
            return
        36: .line 1163
      StackMap locals: java.lang.NullPointerException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        37: .line 1164
            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 1166
            ldc "The monitor must be registered in the MBean server or an MBeanServerConnection must be explicitly supplied."
        39: .line 1165
            astore 6 /* msg */
        40: .line 1169
            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 1170
            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 1172
      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 1173
            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 1174
            return
        46: .line 1176
      StackMap locals: javax.management.InstanceNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.mbean"
            astore 5 /* notifType */
        47: .line 1177
            aload 0 /* this */
        48: .line 1178
            aload 1 /* o */
            iload 2 /* index */
            iconst_1
            aload 3 /* an */
        49: .line 1177
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        50: .line 1180
            ldc "The observed object must be accessible in the MBeanServerConnection."
        51: .line 1179
            astore 6 /* msg */
        52: .line 1182
            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 1183
            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 1185
      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 1186
            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 1187
            return
        58: .line 1189
      StackMap locals: javax.management.AttributeNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.attribute"
            astore 5 /* notifType */
        59: .line 1190
            aload 0 /* this */
        60: .line 1191
            aload 1 /* o */
            iload 2 /* index */
            iconst_2
            aload 3 /* an */
        61: .line 1190
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        62: .line 1193
            ldc "The observed attribute must be accessible in the observed object."
        63: .line 1192
            astore 6 /* msg */
        64: .line 1195
            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 1196
            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 1198
      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 1199
            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 1200
            return
        70: .line 1202
      StackMap locals: javax.management.MBeanException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        71: .line 1203
            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 1204
            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 1205
            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 1206
            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 1208
      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 1209
            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 1210
            return
        81: .line 1212
      StackMap locals: javax.management.ReflectionException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        82: .line 1213
            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 1214
            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 1215
            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 1216
            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 1218
      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 1219
            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 1220
            return
        92: .line 1222
      StackMap locals: java.io.IOException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        93: .line 1223
            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 1224
            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 1225
            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 1226
            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 1228
      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 1229
            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 1230
            return
       103: .line 1232
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       104: .line 1233
            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 1234
            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 1235
            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 1236
            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 1240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 13
            monitorenter
       111: .line 1244
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 114
       112: .line 1245
            aload 13
            monitorexit
       113: return
       114: .line 1254
      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 1255
            aload 13
            monitorexit
       116: return
       117: .line 1260
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 165
       118: .line 1262
            aload 0 /* this */
            aload 9 /* object */
       119: .line 1263
            aload 4 /* attribute */
       120: .line 1264
            aload 12 /* attributeValue */
       121: .line 1262
            invokevirtual javax.management.monitor.Monitor.getComparableFromAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable;
            astore 10 /* value */
       122: .line 1265
            goto 165
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
       123: astore 14 /* e */
        start local 14 // java.lang.ClassCastException e
       124: .line 1266
            aload 0 /* this */
       125: .line 1267
            aload 1 /* o */
            iconst_4
       126: .line 1266
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
       127: .line 1267
            ifeq 130
       128: .line 1268
            aload 13
            monitorexit
       129: return
       130: .line 1270
      StackMap locals: java.lang.ClassCastException
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
       131: .line 1271
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       132: .line 1272
            iconst_4
            aload 3 /* an */
       133: .line 1271
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       134: .line 1274
            ldc "The observed attribute value does not implement the Comparable interface."
       135: .line 1273
            astore 6 /* msg */
       136: .line 1276
            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 1277
            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 1279
      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 1280
            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 1281
            aload 13
            monitorexit
       142: return
       143: .line 1283
      StackMap locals: javax.management.AttributeNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.attribute"
            astore 5 /* notifType */
       144: .line 1284
            aload 0 /* this */
       145: .line 1285
            aload 1 /* o */
            iload 2 /* index */
            iconst_2
            aload 3 /* an */
       146: .line 1284
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       147: .line 1287
            ldc "The observed attribute must be accessible in the observed object."
       148: .line 1286
            astore 6 /* msg */
       149: .line 1289
            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 1290
            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 1292
      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 1293
            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 1294
            aload 13
            monitorexit
       155: return
       156: .line 1296
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       157: .line 1297
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       158: .line 1298
            bipush 8
            aload 3 /* an */
       159: .line 1297
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       160: .line 1299
            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 1300
            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 1301
            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 1309
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 179
       166: .line 1310
            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 1311
            aload 0 /* this */
       168: .line 1312
            aload 1 /* o */
            iconst_4
       169: .line 1311
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
       170: .line 1312
            ifeq 173
       171: .line 1313
            aload 13
            monitorexit
       172: return
       173: .line 1315
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
       174: .line 1316
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       175: .line 1317
            iconst_4
            aload 3 /* an */
       176: .line 1316
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       177: .line 1318
            ldc "The observed attribute type is not valid."
            astore 6 /* msg */
       178: .line 1319
            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 1326
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 190
       180: .line 1327
            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 1328
            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 1329
            aload 13
            monitorexit
       183: return
       184: .line 1331
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.threshold"
            astore 5 /* notifType */
       185: .line 1332
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       186: .line 1333
            bipush 16
            aload 3 /* an */
       187: .line 1332
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       188: .line 1334
            ldc "The threshold type is not valid."
            astore 6 /* msg */
       189: .line 1335
            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 1343
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 201
       191: .line 1344
            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 1345
            aload 6 /* msg */
            ifnull 201
       193: .line 1346
            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 1347
            aload 13
            monitorexit
       195: return
       196: .line 1349
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       197: .line 1350
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       198: .line 1351
            bipush 8
            aload 3 /* an */
       199: .line 1350
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       200: .line 1352
            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 1360
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 213
       202: .line 1363
            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 1367
            aload 0 /* this */
            aload 9 /* object */
       204: .line 1368
            aload 4 /* attribute */
       205: .line 1369
            aload 10 /* value */
       206: .line 1367
            invokevirtual javax.management.monitor.Monitor.getDerivedGaugeFromComparable:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/Comparable;
            astore 7 /* derGauge */
       207: .line 1371
            aload 1 /* o */
            aload 7 /* derGauge */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGauge:(Ljava/lang/Object;)V
       208: .line 1372
            aload 1 /* o */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
       209: .line 1376
            aload 0 /* this */
            aload 9 /* object */
       210: .line 1377
            aload 4 /* attribute */
       211: .line 1378
            aload 7 /* derGauge */
            checkcast java.lang.Comparable
       212: .line 1376
            invokevirtual javax.management.monitor.Monitor.buildAlarmNotification:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljavax/management/monitor/MonitorNotification;
            astore 11 /* alarm */
       213: .line 1240
      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 1385
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnull 226
       218: .line 1386
            aload 0 /* this */
            aload 5 /* notifType */
       219: .line 1387
            invokestatic java.lang.System.currentTimeMillis:()J
       220: .line 1388
            aload 6 /* msg */
       221: .line 1389
            aload 7 /* derGauge */
       222: .line 1390
            aload 8 /* trigger */
       223: .line 1391
            aload 9 /* object */
       224: .line 1392
            iconst_1
       225: .line 1386
            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 1396
      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 1397
            aload 0 /* this */
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getType:()Ljava/lang/String;
       228: .line 1398
            invokestatic java.lang.System.currentTimeMillis:()J
       229: .line 1399
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getMessage:()Ljava/lang/String;
       230: .line 1400
            aload 7 /* derGauge */
       231: .line 1401
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getTrigger:()Ljava/lang/Object;
       232: .line 1402
            aload 9 /* object */
       233: .line 1403
            iconst_0
       234: .line 1397
            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 1404
      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 1410
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
            ifnull 3
         1: .line 1411
            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 1412
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
         3: .line 1414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
            ifnull 6
         4: .line 1415
            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 1416
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
         6: .line 1418
      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 1424
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
         1: .line 1425
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         2: .line 1426
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
         3: .line 1427
            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