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 35
        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 31
      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/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 30
        21: .line 209
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        22: .line 210
            ldc "<static initializer>"
        23: .line 211
            ldc "Wrong value for jmx.x.monitor.maximum.pool.size system property"
        24: .line 212
            aload 2 /* e */
        25: .line 209
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        26: .line 213
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        27: .line 214
            ldc "<static initializer>"
        28: .line 215
            ldc "jmx.x.monitor.maximum.pool.size defaults to 10"
        29: .line 213
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        30: .line 217
      StackMap locals: java.lang.NumberFormatException
      StackMap stack:
            bipush 10
            istore 1 /* maximumPoolSizeTmp */
        end local 2 // java.lang.NumberFormatException e
        31: .line 219
      StackMap locals:
      StackMap stack:
            iload 1 /* maximumPoolSizeTmp */
            iconst_1
            if_icmpge 34
        32: .line 220
            iconst_1
            putstatic javax.management.monitor.Monitor.maximumPoolSize:I
        33: .line 221
            goto 35
        34: .line 222
      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
        35: .line 368
      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   35     0  maximumPoolSizeStr  Ljava/lang/String;
           17   35     1  maximumPoolSizeTmp  I
           20   31     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 235
            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 259
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.elementCount:I
        10: .line 266
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.alreadyNotified:I
        11: .line 278
            aload 0 /* this */
            bipush 16
            newarray 10
            putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
        12: .line 338
            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 349
            aload 0 /* this */
        14: .line 350
            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=5, 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 394
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 395
            ldc "preRegister(MBeanServer, ObjectName)"
         2: .line 396
            ldc "initialize the reference on the MBean server"
         3: .line 394
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         4: .line 398
            aload 0 /* this */
            aload 1 /* server */
            putfield javax.management.monitor.Monitor.server:Ljavax/management/MBeanServer;
         5: .line 399
            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    6     0    this  Ljavax/management/monitor/Monitor;
            0    6     1  server  Ljavax/management/MBeanServer;
            0    6     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 410
            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=5, locals=1, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 422
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 423
            ldc "preDeregister()"
            ldc "stop the monitor"
         2: .line 422
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 427
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.stop:()V
         4: .line 428
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     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 437
            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 464
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 465
            aconst_null
            areturn
         2: .line 467
      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 486
            aload 1 /* object */
            ifnonnull 2
         1: .line 487
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed object"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 488
      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 489
            return
         4: .line 490
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedObjects:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         5: .line 491
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.addObservedObject:(Ljavax/management/ObjectName;)V
         6: .line 492
            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 505
            aload 1 /* object */
            ifnonnull 2
         1: .line 506
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed object"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual javax.management.monitor.Monitor.containsObservedObject:(Ljavax/management/ObjectName;)Z
            ifeq 4
         3: .line 512
            return
         4: .line 516
      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 517
            aload 2 /* o */
            iconst_0
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         6: .line 518
            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 519
            aload 2 /* o */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
         8: .line 520
            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 524
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
        10: .line 525
            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 536
            aload 1 /* object */
            ifnonnull 2
         1: .line 537
            return
         2: .line 539
      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 540
            aload 2 /* o */
            ifnull 6
         4: .line 543
            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 546
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.createAlreadyNotified:()V
         6: .line 548
      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 559
            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 569
            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 570
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 571
      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 570
            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 572
            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 584
            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 600
            aload 1 /* attribute */
            ifnonnull 2
         1: .line 601
            new java.lang.IllegalArgumentException
            dup
            ldc "Null observed attribute"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         3: .line 607
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
            ifnull 7
         4: .line 608
            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 609
            aload 2
            monitorexit
         6: return
         7: .line 610
      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 615
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
         9: .line 617
            iconst_0
            istore 3 /* index */
        start local 3 // int index
        10: .line 618
            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 619
            aload 0 /* this */
            aload 4 /* o */
            iload 3 /* index */
            iinc 3 /* index */ 1
        13: .line 620
            bipush 6
        14: .line 619
            invokevirtual javax.management.monitor.Monitor.resetAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II)V
        end local 4 // javax.management.monitor.Monitor$ObservedObject o
        15: .line 618
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 3 // int index
        16: .line 606
            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 624
      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 635
            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 651
            lload 1 /* period */
            lconst_0
            lcmp
            ifgt 2
         1: .line 652
            new java.lang.IllegalArgumentException
            dup
            ldc "Nonpositive granularity period"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 656
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.granularityPeriod:J
            lload 1 /* period */
            lcmp
            ifne 4
         3: .line 657
            return
         4: .line 658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* period */
            putfield javax.management.monitor.Monitor.granularityPeriod:J
         5: .line 662
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifeq 11
         6: .line 663
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
         7: .line 664
            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 665
            lload 1 /* period */
         9: .line 666
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        10: .line 664
            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 668
      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 683
            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 696
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 697
            ldc "doStart()"
            ldc "start the monitor"
         2: .line 696
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 699
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         4: .line 700
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifeq 10
         5: .line 701
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 702
            ldc "doStart()"
            ldc "the monitor is already active"
         7: .line 701
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 703
            aload 1
            monitorexit
         9: return
        10: .line 706
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield javax.management.monitor.Monitor.isActive:Z
        11: .line 711
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
        12: .line 716
            aload 0 /* this */
            invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
        13: .line 720
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
        14: .line 721
            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
        15: .line 722
            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;
        16: .line 723
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getGranularityPeriod:()J
        17: .line 724
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
        18: .line 722
            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;
        19: .line 699
            aload 1
            monitorexit
        20: goto 23
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: aload 1
            monitorexit
        22: athrow
        23: .line 726
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Ljavax/management/monitor/Monitor;
      Exception table:
        from    to  target  type
           4     9      21  any
          10    20      21  any
          21    22      21  any

  void doStop();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javax.management.monitor.Monitor this
         0: .line 732
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         1: .line 733
            ldc "doStop()"
            ldc "stop the monitor"
         2: .line 732
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 735
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         4: .line 736
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 10
         5: .line 737
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         6: .line 738
            ldc "doStop()"
            ldc "the monitor is not active"
         7: .line 737
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 739
            aload 1
            monitorexit
         9: return
        10: .line 742
      StackMap locals: javax.management.monitor.Monitor
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isActive:Z
        11: .line 747
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupFutures:()V
        12: .line 751
            aload 0 /* this */
            getstatic javax.management.monitor.Monitor.noPermissionsACC:Ljava/security/AccessControlContext;
            putfield javax.management.monitor.Monitor.acc:Ljava/security/AccessControlContext;
        13: .line 756
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.cleanupIsComplexTypeAttribute:()V
        14: .line 735
            aload 1
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 1
            monitorexit
        17: athrow
        18: .line 758
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javax.management.monitor.Monitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Ljavax/management/monitor/Monitor;
      Exception table:
        from    to  target  type
           4     9      16  any
          10    15      16  any
          16    17      16  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 772
            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 773
            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 788
            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 789
            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 806
            aload 0 /* this */
            dup
            astore 5
            monitorenter
         1: .line 807
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 5
         2: .line 808
            new java.lang.IllegalArgumentException
            dup
         3: .line 809
            ldc "The monitor has been stopped"
         4: .line 808
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 810
      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 811
            new java.lang.IllegalArgumentException
            dup
         7: .line 812
            ldc "The observed attribute has been changed"
         8: .line 811
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 814
      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 813
            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 806
            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 820
      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 822
            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 823
            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 824
            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 827
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* mbi */
        start local 5 // javax.management.MBeanInfo mbi
        23: .line 833
      StackMap locals: javax.management.MBeanInfo
      StackMap stack:
            aload 0 /* this */
            dup
            astore 7
            monitorenter
        24: .line 834
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 28
        25: .line 835
            new java.lang.IllegalArgumentException
            dup
        26: .line 836
            ldc "The monitor has been stopped"
        27: .line 835
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 837
      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 838
            new java.lang.IllegalArgumentException
            dup
        30: .line 839
            ldc "The observed attribute has been changed"
        31: .line 838
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 840
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
            ifnonnull 53
        33: .line 841
            aload 3 /* attribute */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 52
        34: .line 842
            aload 5 /* mbi */
            invokevirtual javax.management.MBeanInfo.getAttributes:()[Ljavax/management/MBeanAttributeInfo;
            astore 8 /* mbaiArray */
        start local 8 // javax.management.MBeanAttributeInfo[] mbaiArray
        35: .line 843
            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 844
            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 845
            aload 0 /* this */
            aload 3 /* attribute */
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        39: .line 846
            goto 42
        end local 9 // javax.management.MBeanAttributeInfo mbai
        40: .line 843
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        41: iload 10
            iload 11
            if_icmplt 36
        42: .line 849
      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 850
            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 851
            aload 0 /* this */
            aload 9 /* tokens */
            iconst_0
            aaload
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        45: .line 852
            iconst_1
            istore 10 /* i */
        start local 10 // int i
        46: goto 49
        47: .line 853
      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 852
            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 854
            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 856
            goto 53
        52: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* attribute */
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
        53: .line 860
      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 833
            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 862
      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 869
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
            ifeq 7
         1: .line 870
            aload 3 /* value */
            astore 4 /* v */
        start local 4 // java.lang.Object v
         2: .line 871
            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 872
            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 871
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 873
            aload 4 /* v */
            checkcast java.lang.Comparable
            areturn
        end local 4 // java.lang.Object v
         7: .line 875
      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 882
            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 888
            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 892
            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 897
            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 903
            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 909
            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 913
            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 915
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Byte;
            areturn
         2: .line 917
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Short;
            areturn
         3: .line 919
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Integer;
            areturn
         4: .line 921
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Long;
            areturn
         5: .line 923
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Float;
            areturn
         6: .line 925
      StackMap locals:
      StackMap stack:
            ldc Ljava/lang/Double;
            areturn
         7: .line 927
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         8: .line 928
            ldc "Unsupported numerical type"
         9: .line 927
            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 933
            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 949
            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 950
            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 951
            aload 2 /* o */
            areturn
        end local 2 // javax.management.monitor.Monitor$ObservedObject o
         4: .line 949
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 952
            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 961
            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 971
            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 975
            aload 0 /* this */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.elementCount:I
            newarray 10
            putfield javax.management.monitor.Monitor.alreadyNotifieds:[I
         2: .line 976
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         3: goto 6
         4: .line 977
      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 976
            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 979
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
         8: .line 980
            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 986
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.elementCount:I
            ifle 2
         1: .line 987
            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 989
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.alreadyNotified:I
         3: .line 990
      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 999
            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 1000
            iload 2 /* index */
            ifne 3
         2: .line 1001
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.updateDeprecatedAlreadyNotified:()V
         3: .line 1002
      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 1009
            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 1019
            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 1020
            iload 5 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1021
            return
         3: .line 1022
      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 1023
            aload 0 /* this */
            aload 1 /* o */
            iload 5 /* i */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         5: .line 1024
            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 1033
            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 1034
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         2: .line 1035
            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 1044
            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 1045
            iload 4 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1046
            return
         3: .line 1047
      StackMap locals: int
      StackMap stack:
            aload 1 /* o */
            iconst_0
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setAlreadyNotified:(I)V
         4: .line 1048
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
            invokevirtual javax.management.monitor.Monitor.updateAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)V
         5: .line 1049
            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 1057
            aload 3 /* an */
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.alreadyNotifieds:[I
            if_acmpne 2
         1: .line 1058
            iload 2 /* index */
            ireturn
         2: .line 1060
      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 1089
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 2
         1: .line 1090
            return
         2: .line 1092
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 9
         3: .line 1093
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1094
            ldc "sendNotification"
            new java.lang.StringBuilder
            dup
            ldc "send notification: \n\tNotification observed object = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 1095
            aload 7 /* object */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 1096
            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;
         7: .line 1097
            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;
         8: .line 1093
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 1100
      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
        10: .line 1103
            new javax.management.monitor.MonitorNotification
            dup
            aload 1 /* type */
        11: .line 1104
            aload 0 /* this */
        12: .line 1105
            lload 9 /* seqno */
        13: .line 1106
            lload 2 /* timeStamp */
        14: .line 1107
            aload 4 /* msg */
        15: .line 1108
            aload 7 /* object */
        16: .line 1109
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.observedAttribute:Ljava/lang/String;
        17: .line 1110
            aload 5 /* derGauge */
        18: .line 1111
            aload 6 /* trigger */
        19: .line 1103
            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
        20: .line 1102
            astore 11 /* mn */
        start local 11 // javax.management.monitor.MonitorNotification mn
        21: .line 1112
            iload 8 /* onError */
            ifeq 23
        22: .line 1113
            aload 0 /* this */
            aload 11 /* mn */
            invokevirtual javax.management.monitor.Monitor.onErrorNotification:(Ljavax/management/monitor/MonitorNotification;)V
        23: .line 1114
      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
        24: .line 1115
            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   25     0       this  Ljavax/management/monitor/Monitor;
            0   25     1       type  Ljava/lang/String;
            0   25     2  timeStamp  J
            0   25     4        msg  Ljava/lang/String;
            0   25     5   derGauge  Ljava/lang/Object;
            0   25     6    trigger  Ljava/lang/Object;
            0   25     7     object  Ljavax/management/ObjectName;
            0   25     8    onError  Z
           10   25     9      seqno  J
           21   25    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 1125
            aconst_null
            astore 5 /* notifType */
        start local 5 // java.lang.String notifType
         1: .line 1126
            aconst_null
            astore 6 /* msg */
        start local 6 // java.lang.String msg
         2: .line 1127
            aconst_null
            astore 7 /* derGauge */
        start local 7 // java.lang.Object derGauge
         3: .line 1128
            aconst_null
            astore 8 /* trigger */
        start local 8 // java.lang.Object trigger
         4: .line 1130
            aconst_null
            astore 10 /* value */
        start local 10 // java.lang.Comparable value
         5: .line 1131
            aconst_null
            astore 11 /* alarm */
        start local 11 // javax.management.monitor.MonitorNotification alarm
         6: .line 1133
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 8
         7: .line 1134
            return
         8: .line 1142
      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 1143
            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 1144
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.getObservedAttribute:()Ljava/lang/String;
            astore 4 /* attribute */
        start local 4 // java.lang.String attribute
        11: .line 1145
            aload 9 /* object */
            ifnull 12
            aload 4 /* attribute */
            ifnonnull 14
        12: .line 1146
      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 1142
      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 1154
      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 1156
            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 1157
            aload 12 /* attributeValue */
            ifnonnull 140
        21: .line 1158
            aload 0 /* this */
        22: .line 1159
            aload 1 /* o */
            iconst_4
        23: .line 1158
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
        24: .line 1159
            ifeq 26
        25: .line 1160
            return
        26: .line 1162
      StackMap locals: java.lang.Object
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
        27: .line 1163
            aload 0 /* this */
        28: .line 1164
            aload 1 /* o */
            iload 2 /* index */
            iconst_4
            aload 3 /* an */
        29: .line 1163
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        30: .line 1165
            ldc "The observed attribute value is null."
            astore 6 /* msg */
        31: .line 1166
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        32: .line 1167
            ldc "monitor"
            aload 6 /* msg */
        33: .line 1166
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        34: .line 1169
            goto 140
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
        35: astore 13 /* np_ex */
        start local 13 // java.lang.NullPointerException np_ex
        36: .line 1170
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 38
        37: .line 1171
            return
        38: .line 1173
      StackMap locals: java.lang.NullPointerException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        39: .line 1174
            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
        40: .line 1176
            ldc "The monitor must be registered in the MBean server or an MBeanServerConnection must be explicitly supplied."
        41: .line 1175
            astore 6 /* msg */
        42: .line 1179
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        43: .line 1180
            ldc "monitor"
            aload 6 /* msg */
        44: .line 1179
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        45: .line 1181
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        46: .line 1182
            ldc "monitor"
            aload 13 /* np_ex */
            invokevirtual java.lang.NullPointerException.toString:()Ljava/lang/String;
        47: .line 1181
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // java.lang.NullPointerException np_ex
        48: goto 140
        49: .line 1184
      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
        50: .line 1185
            aload 0 /* this */
            aload 1 /* o */
            iconst_1
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 52
        51: .line 1186
            return
        52: .line 1188
      StackMap locals: javax.management.InstanceNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.mbean"
            astore 5 /* notifType */
        53: .line 1189
            aload 0 /* this */
        54: .line 1190
            aload 1 /* o */
            iload 2 /* index */
            iconst_1
            aload 3 /* an */
        55: .line 1189
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        56: .line 1192
            ldc "The observed object must be accessible in the MBeanServerConnection."
        57: .line 1191
            astore 6 /* msg */
        58: .line 1194
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        59: .line 1195
            ldc "monitor"
            aload 6 /* msg */
        60: .line 1194
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        61: .line 1196
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        62: .line 1197
            ldc "monitor"
            aload 13 /* inf_ex */
            invokevirtual javax.management.InstanceNotFoundException.toString:()Ljava/lang/String;
        63: .line 1196
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // javax.management.InstanceNotFoundException inf_ex
        64: goto 140
        65: .line 1199
      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
        66: .line 1200
            aload 0 /* this */
            aload 1 /* o */
            iconst_2
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 68
        67: .line 1201
            return
        68: .line 1203
      StackMap locals: javax.management.AttributeNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.attribute"
            astore 5 /* notifType */
        69: .line 1204
            aload 0 /* this */
        70: .line 1205
            aload 1 /* o */
            iload 2 /* index */
            iconst_2
            aload 3 /* an */
        71: .line 1204
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
        72: .line 1207
            ldc "The observed attribute must be accessible in the observed object."
        73: .line 1206
            astore 6 /* msg */
        74: .line 1209
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        75: .line 1210
            ldc "monitor"
            aload 6 /* msg */
        76: .line 1209
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        77: .line 1211
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        78: .line 1212
            ldc "monitor"
            aload 13 /* anf_ex */
            invokevirtual javax.management.AttributeNotFoundException.toString:()Ljava/lang/String;
        79: .line 1211
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // javax.management.AttributeNotFoundException anf_ex
        80: goto 140
        81: .line 1214
      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
        82: .line 1215
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 84
        83: .line 1216
            return
        84: .line 1218
      StackMap locals: javax.management.MBeanException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
        85: .line 1219
            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
        86: .line 1220
            aload 13 /* mb_ex */
            invokevirtual javax.management.MBeanException.getMessage:()Ljava/lang/String;
            ifnonnull 87
            ldc ""
            goto 88
      StackMap locals:
      StackMap stack:
        87: aload 13 /* mb_ex */
            invokevirtual javax.management.MBeanException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        88: astore 6 /* msg */
        89: .line 1221
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        90: .line 1222
            ldc "monitor"
            aload 6 /* msg */
        91: .line 1221
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        92: .line 1223
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        93: .line 1224
            ldc "monitor"
            aload 13 /* mb_ex */
            invokevirtual javax.management.MBeanException.toString:()Ljava/lang/String;
        94: .line 1223
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // javax.management.MBeanException mb_ex
        95: goto 140
        96: .line 1226
      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
        97: .line 1227
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 99
        98: .line 1228
            return
        99: .line 1230
      StackMap locals: javax.management.ReflectionException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       100: .line 1231
            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
       101: .line 1232
            aload 13 /* ref_ex */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
            ifnonnull 102
            ldc ""
            goto 103
      StackMap locals:
      StackMap stack:
       102: aload 13 /* ref_ex */
            invokevirtual javax.management.ReflectionException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       103: astore 6 /* msg */
       104: .line 1233
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
       105: .line 1234
            ldc "monitor"
            aload 6 /* msg */
       106: .line 1233
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       107: .line 1235
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
       108: .line 1236
            ldc "monitor"
            aload 13 /* ref_ex */
            invokevirtual javax.management.ReflectionException.toString:()Ljava/lang/String;
       109: .line 1235
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // javax.management.ReflectionException ref_ex
       110: goto 140
       111: .line 1238
      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
       112: .line 1239
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 114
       113: .line 1240
            return
       114: .line 1242
      StackMap locals: java.io.IOException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       115: .line 1243
            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
       116: .line 1244
            aload 13 /* io_ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            ifnonnull 117
            ldc ""
            goto 118
      StackMap locals:
      StackMap stack:
       117: aload 13 /* io_ex */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       118: astore 6 /* msg */
       119: .line 1245
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
       120: .line 1246
            ldc "monitor"
            aload 6 /* msg */
       121: .line 1245
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       122: .line 1247
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
       123: .line 1248
            ldc "monitor"
            aload 13 /* io_ex */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
       124: .line 1247
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // java.io.IOException io_ex
       125: goto 140
       126: .line 1250
      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
       127: .line 1251
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 129
       128: .line 1252
            return
       129: .line 1254
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       130: .line 1255
            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
       131: .line 1256
            aload 13 /* rt_ex */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            ifnonnull 132
            ldc ""
            goto 133
      StackMap locals:
      StackMap stack:
       132: aload 13 /* rt_ex */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       133: astore 6 /* msg */
       134: .line 1257
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
       135: .line 1258
            ldc "monitor"
            aload 6 /* msg */
       136: .line 1257
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       137: .line 1259
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
       138: .line 1260
            ldc "monitor"
            aload 13 /* rt_ex */
            invokevirtual java.lang.RuntimeException.toString:()Ljava/lang/String;
       139: .line 1259
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 13 // java.lang.RuntimeException rt_ex
       140: .line 1264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 13
            monitorenter
       141: .line 1268
            aload 0 /* this */
            invokevirtual javax.management.monitor.Monitor.isActive:()Z
            ifne 144
       142: .line 1269
            aload 13
            monitorexit
       143: return
       144: .line 1278
      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 147
       145: .line 1279
            aload 13
            monitorexit
       146: return
       147: .line 1284
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 207
       148: .line 1286
            aload 0 /* this */
            aload 9 /* object */
       149: .line 1287
            aload 4 /* attribute */
       150: .line 1288
            aload 12 /* attributeValue */
       151: .line 1286
            invokevirtual javax.management.monitor.Monitor.getComparableFromAttribute:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Comparable;
            astore 10 /* value */
       152: .line 1289
            goto 207
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
       153: astore 14 /* e */
        start local 14 // java.lang.ClassCastException e
       154: .line 1290
            aload 0 /* this */
       155: .line 1291
            aload 1 /* o */
            iconst_4
       156: .line 1290
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
       157: .line 1291
            ifeq 160
       158: .line 1292
            aload 13
            monitorexit
       159: return
       160: .line 1294
      StackMap locals: java.lang.ClassCastException
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
       161: .line 1295
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       162: .line 1296
            iconst_4
            aload 3 /* an */
       163: .line 1295
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       164: .line 1298
            ldc "The observed attribute value does not implement the Comparable interface."
       165: .line 1297
            astore 6 /* msg */
       166: .line 1300
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       167: .line 1301
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 6 /* msg */
       168: .line 1300
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       169: .line 1302
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       170: .line 1303
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 14 /* e */
            invokevirtual java.lang.ClassCastException.toString:()Ljava/lang/String;
       171: .line 1302
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 14 // java.lang.ClassCastException e
       172: goto 207
       173: .line 1305
      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
       174: .line 1306
            aload 0 /* this */
            aload 1 /* o */
            iconst_2
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 177
       175: .line 1307
            aload 13
            monitorexit
       176: return
       177: .line 1309
      StackMap locals: javax.management.AttributeNotFoundException
      StackMap stack:
            ldc "jmx.monitor.error.attribute"
            astore 5 /* notifType */
       178: .line 1310
            aload 0 /* this */
       179: .line 1311
            aload 1 /* o */
            iload 2 /* index */
            iconst_2
            aload 3 /* an */
       180: .line 1310
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       181: .line 1313
            ldc "The observed attribute must be accessible in the observed object."
       182: .line 1312
            astore 6 /* msg */
       183: .line 1315
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       184: .line 1316
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 6 /* msg */
       185: .line 1315
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       186: .line 1317
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       187: .line 1318
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 14 /* e */
            invokevirtual javax.management.AttributeNotFoundException.toString:()Ljava/lang/String;
       188: .line 1317
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 14 // javax.management.AttributeNotFoundException e
       189: goto 207
       190: .line 1320
      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
       191: .line 1321
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 194
       192: .line 1322
            aload 13
            monitorexit
       193: return
       194: .line 1324
      StackMap locals: java.lang.RuntimeException
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       195: .line 1325
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       196: .line 1326
            bipush 8
            aload 3 /* an */
       197: .line 1325
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       198: .line 1327
            aload 14 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
            ifnonnull 199
            ldc ""
            goto 200
      StackMap locals:
      StackMap stack:
       199: aload 14 /* e */
            invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
       200: astore 6 /* msg */
       201: .line 1328
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       202: .line 1329
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 6 /* msg */
       203: .line 1328
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       204: .line 1330
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       205: .line 1331
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 14 /* e */
            invokevirtual java.lang.RuntimeException.toString:()Ljava/lang/String;
       206: .line 1330
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        end local 14 // java.lang.RuntimeException e
       207: .line 1339
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 223
       208: .line 1340
            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 223
       209: .line 1341
            aload 0 /* this */
       210: .line 1342
            aload 1 /* o */
            iconst_4
       211: .line 1341
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
       212: .line 1342
            ifeq 215
       213: .line 1343
            aload 13
            monitorexit
       214: return
       215: .line 1345
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.type"
            astore 5 /* notifType */
       216: .line 1346
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       217: .line 1347
            iconst_4
            aload 3 /* an */
       218: .line 1346
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       219: .line 1348
            ldc "The observed attribute type is not valid."
            astore 6 /* msg */
       220: .line 1349
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       221: .line 1350
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 6 /* msg */
       222: .line 1349
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       223: .line 1357
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 236
       224: .line 1358
            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 236
       225: .line 1359
            aload 0 /* this */
            aload 1 /* o */
            bipush 16
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 228
       226: .line 1360
            aload 13
            monitorexit
       227: return
       228: .line 1362
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.threshold"
            astore 5 /* notifType */
       229: .line 1363
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       230: .line 1364
            bipush 16
            aload 3 /* an */
       231: .line 1363
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       232: .line 1365
            ldc "The threshold type is not valid."
            astore 6 /* msg */
       233: .line 1366
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       234: .line 1367
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 6 /* msg */
       235: .line 1366
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       236: .line 1375
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 249
       237: .line 1376
            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 */
       238: .line 1377
            aload 6 /* msg */
            ifnull 249
       239: .line 1378
            aload 0 /* this */
            aload 1 /* o */
            bipush 8
            invokevirtual javax.management.monitor.Monitor.isAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;I)Z
            ifeq 242
       240: .line 1379
            aload 13
            monitorexit
       241: return
       242: .line 1381
      StackMap locals:
      StackMap stack:
            ldc "jmx.monitor.error.runtime"
            astore 5 /* notifType */
       243: .line 1382
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* index */
       244: .line 1383
            bipush 8
            aload 3 /* an */
       245: .line 1382
            invokevirtual javax.management.monitor.Monitor.setAlreadyNotified:(Ljavax/management/monitor/Monitor$ObservedObject;II[I)V
       246: .line 1384
            getstatic com.sun.jmx.defaults.JmxProperties.MONITOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
       247: .line 1385
            ldc Ljavax/management/monitor/Monitor;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            ldc "monitor"
            aload 6 /* msg */
       248: .line 1384
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       249: .line 1393
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnonnull 261
       250: .line 1396
            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
       251: .line 1400
            aload 0 /* this */
            aload 9 /* object */
       252: .line 1401
            aload 4 /* attribute */
       253: .line 1402
            aload 10 /* value */
       254: .line 1400
            invokevirtual javax.management.monitor.Monitor.getDerivedGaugeFromComparable:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljava/lang/Comparable;
            astore 7 /* derGauge */
       255: .line 1404
            aload 1 /* o */
            aload 7 /* derGauge */
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGauge:(Ljava/lang/Object;)V
       256: .line 1405
            aload 1 /* o */
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual javax.management.monitor.Monitor$ObservedObject.setDerivedGaugeTimeStamp:(J)V
       257: .line 1409
            aload 0 /* this */
            aload 9 /* object */
       258: .line 1410
            aload 4 /* attribute */
       259: .line 1411
            aload 7 /* derGauge */
            checkcast java.lang.Comparable
       260: .line 1409
            invokevirtual javax.management.monitor.Monitor.buildAlarmNotification:(Ljavax/management/ObjectName;Ljava/lang/String;Ljava/lang/Comparable;)Ljavax/management/monitor/MonitorNotification;
            astore 11 /* alarm */
       261: .line 1264
      StackMap locals:
      StackMap stack:
            aload 13
            monitorexit
       262: goto 265
      StackMap locals:
      StackMap stack: java.lang.Throwable
       263: aload 13
            monitorexit
       264: athrow
       265: .line 1418
      StackMap locals:
      StackMap stack:
            aload 6 /* msg */
            ifnull 274
       266: .line 1419
            aload 0 /* this */
            aload 5 /* notifType */
       267: .line 1420
            invokestatic java.lang.System.currentTimeMillis:()J
       268: .line 1421
            aload 6 /* msg */
       269: .line 1422
            aload 7 /* derGauge */
       270: .line 1423
            aload 8 /* trigger */
       271: .line 1424
            aload 9 /* object */
       272: .line 1425
            iconst_1
       273: .line 1419
            invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
       274: .line 1429
      StackMap locals:
      StackMap stack:
            aload 11 /* alarm */
            ifnull 283
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getType:()Ljava/lang/String;
            ifnull 283
       275: .line 1430
            aload 0 /* this */
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getType:()Ljava/lang/String;
       276: .line 1431
            invokestatic java.lang.System.currentTimeMillis:()J
       277: .line 1432
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getMessage:()Ljava/lang/String;
       278: .line 1433
            aload 7 /* derGauge */
       279: .line 1434
            aload 11 /* alarm */
            invokevirtual javax.management.monitor.MonitorNotification.getTrigger:()Ljava/lang/Object;
       280: .line 1435
            aload 9 /* object */
       281: .line 1436
            iconst_0
       282: .line 1430
            invokevirtual javax.management.monitor.Monitor.sendNotification:(Ljava/lang/String;JLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljavax/management/ObjectName;Z)V
       283: .line 1437
      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  284     0            this  Ljavax/management/monitor/Monitor;
            0  284     1               o  Ljavax/management/monitor/Monitor$ObservedObject;
            0  284     2           index  I
            0  284     3              an  [I
           11   16     4       attribute  Ljava/lang/String;
           18  284     4       attribute  Ljava/lang/String;
            1  284     5       notifType  Ljava/lang/String;
            2  284     6             msg  Ljava/lang/String;
            3  284     7        derGauge  Ljava/lang/Object;
            4  284     8         trigger  Ljava/lang/Object;
           10   16     9          object  Ljavax/management/ObjectName;
           18  284     9          object  Ljavax/management/ObjectName;
            5  284    10           value  Ljava/lang/Comparable<*>;
            6  284    11           alarm  Ljavax/management/monitor/MonitorNotification;
           19  284    12  attributeValue  Ljava/lang/Object;
           36   48    13           np_ex  Ljava/lang/NullPointerException;
           50   64    13          inf_ex  Ljavax/management/InstanceNotFoundException;
           66   80    13          anf_ex  Ljavax/management/AttributeNotFoundException;
           82   95    13           mb_ex  Ljavax/management/MBeanException;
           97  110    13          ref_ex  Ljavax/management/ReflectionException;
          112  125    13           io_ex  Ljava/io/IOException;
          127  140    13           rt_ex  Ljava/lang/RuntimeException;
          154  172    14               e  Ljava/lang/ClassCastException;
          174  189    14               e  Ljavax/management/AttributeNotFoundException;
          191  207    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      35  Class java.lang.NullPointerException
          26    34      35  Class java.lang.NullPointerException
          19    25      49  Class javax.management.InstanceNotFoundException
          26    34      49  Class javax.management.InstanceNotFoundException
          19    25      65  Class javax.management.AttributeNotFoundException
          26    34      65  Class javax.management.AttributeNotFoundException
          19    25      81  Class javax.management.MBeanException
          26    34      81  Class javax.management.MBeanException
          19    25      96  Class javax.management.ReflectionException
          26    34      96  Class javax.management.ReflectionException
          19    25     111  Class java.io.IOException
          26    34     111  Class java.io.IOException
          19    25     126  Class java.lang.RuntimeException
          26    34     126  Class java.lang.RuntimeException
         148   152     153  Class java.lang.ClassCastException
         148   152     173  Class javax.management.AttributeNotFoundException
         148   152     190  Class java.lang.RuntimeException
         141   143     263  any
         144   146     263  any
         147   159     263  any
         160   176     263  any
         177   193     263  any
         194   214     263  any
         215   227     263  any
         228   241     263  any
         242   262     263  any
         263   264     263  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 1443
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
            ifnull 3
         1: .line 1444
            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 1445
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.schedulerFuture:Ljava/util/concurrent/ScheduledFuture;
         3: .line 1447
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
            ifnull 6
         4: .line 1448
            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 1449
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.monitorFuture:Ljava/util/concurrent/Future;
         6: .line 1451
      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 1457
            aload 0 /* this */
            aconst_null
            putfield javax.management.monitor.Monitor.firstAttribute:Ljava/lang/String;
         1: .line 1458
            aload 0 /* this */
            getfield javax.management.monitor.Monitor.remainingAttributes:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         2: .line 1459
            aload 0 /* this */
            iconst_0
            putfield javax.management.monitor.Monitor.isComplexTypeAttribute:Z
         3: .line 1460
            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:
  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