public abstract class com.sun.jmx.snmp.daemon.CommunicatorServer implements java.lang.Runnable, javax.management.MBeanRegistration, javax.management.NotificationBroadcaster, com.sun.jmx.snmp.daemon.CommunicatorServerMBean
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.jmx.snmp.daemon.CommunicatorServer
  super_class: java.lang.Object
{
  public static final int ONLINE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int OFFLINE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int STOPPING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int STARTING;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int SNMP_TYPE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  volatile transient int state;
    descriptor: I
    flags: (0x00c0) ACC_VOLATILE, ACC_TRANSIENT

  javax.management.ObjectName objectName;
    descriptor: Ljavax/management/ObjectName;
    flags: (0x0000) 

  javax.management.MBeanServer topMBS;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x0000) 

  javax.management.MBeanServer bottomMBS;
    descriptor: Ljavax/management/MBeanServer;
    flags: (0x0000) 

  transient java.lang.String dbgTag;
    descriptor: Ljava/lang/String;
    flags: (0x0080) ACC_TRANSIENT

  int maxActiveClientCount;
    descriptor: I
    flags: (0x0000) 

  transient int servedClientCount;
    descriptor: I
    flags: (0x0080) ACC_TRANSIENT

  java.lang.String host;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  int port;
    descriptor: I
    flags: (0x0000) 

  private transient java.lang.Object stateLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.util.Vector<com.sun.jmx.snmp.daemon.ClientHandler> clientHandlerVector;
    descriptor: Ljava/util/Vector;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
    Signature: Ljava/util/Vector<Lcom/sun/jmx/snmp/daemon/ClientHandler;>;

  private transient java.lang.Thread mainThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private volatile boolean stopRequested;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

  private transient java.lang.Exception startException;
    descriptor: Ljava/lang/Exception;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient long notifCount;
    descriptor: J
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient javax.management.NotificationBroadcasterSupport notifBroadcaster;
    descriptor: Ljavax/management/NotificationBroadcasterSupport;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient javax.management.MBeanNotificationInfo[] notifInfos;
    descriptor: [Ljavax/management/MBeanNotificationInfo;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // int connectorType
         0: .line 249
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 176
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
         2: .line 189
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         3: .line 196
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.maxActiveClientCount:I
         4: .line 200
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.servedClientCount:I
         5: .line 206
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.host:Ljava/lang/String;
         6: .line 212
            aload 0 /* this */
            iconst_m1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.port:I
         7: .line 222
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
         8: .line 225
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
         9: .line 227
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.mainThread:Ljava/lang/Thread;
        10: .line 229
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.stopRequested:Z
        11: .line 230
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
        12: .line 231
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
        13: .line 234
            aload 0 /* this */
            lconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifCount:J
        14: .line 235
            aload 0 /* this */
        15: .line 236
            new javax.management.NotificationBroadcasterSupport
            dup
            invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
        16: .line 237
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifInfos:[Ljavax/management/MBeanNotificationInfo;
        17: .line 251
            iload 1 /* connectorType */
            tableswitch { // 4 - 4
                    4: 18
              default: 19
          }
        18: .line 254
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int
      StackMap stack:
            goto 20
        19: .line 256
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid connector Type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.makeDebugTag:()Ljava/lang/String;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        21: .line 259
            return
        end local 1 // int connectorType
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0           this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   22     1  connectorType  I
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
               Name  Flags
      connectorType  

  protected java.lang.Thread createMainThread();
    descriptor: ()Ljava/lang/Thread;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 262
            new java.lang.Thread
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.makeThreadName:()Ljava/lang/String;
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;Ljava/lang/String;)V
            areturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  public void start(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // long timeout
         0: .line 286
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 287
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_2
            if_icmpne 3
         2: .line 290
            aload 0 /* this */
            iconst_1
            ldc 60000
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.waitState:(IJ)Z
            pop
         3: .line 292
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer long top java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_1
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 3 /* start */
        start local 3 // boolean start
         6: .line 293
            iload 3 /* start */
            ifeq 11
         7: .line 294
            aload 0 /* this */
            iconst_3
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
         8: .line 295
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.stopRequested:Z
         9: .line 296
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
        10: .line 297
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
        11: .line 286
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer long int java.lang.Object
      StackMap stack:
            aload 4
            monitorexit
        12: goto 15
        end local 3 // boolean start
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer long top java.lang.Object
      StackMap stack: java.lang.Throwable
        13: aload 4
            monitorexit
        14: athrow
        start local 3 // boolean start
        15: .line 301
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer long int
      StackMap stack:
            iload 3 /* start */
            ifne 21
        16: .line 302
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 20
        17: .line 303
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        18: .line 304
            ldc "start"
            ldc "Connector is not OFFLINE"
        19: .line 303
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        20: .line 306
      StackMap locals:
      StackMap stack:
            return
        21: .line 309
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 25
        22: .line 310
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        23: .line 311
            ldc "start"
            ldc "--> Start connector "
        24: .line 310
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        25: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.createMainThread:()Ljava/lang/Thread;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.mainThread:Ljava/lang/Thread;
        26: .line 316
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.mainThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
        27: .line 318
            lload 1 /* timeout */
            lconst_0
            lcmp
            ifle 28
            aload 0 /* this */
            lload 1 /* timeout */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.waitForStart:(J)V
        28: .line 319
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean start
        end local 1 // long timeout
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   29     0     this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   29     1  timeout  J
            6   13     3    start  Z
           15   29     3    start  Z
      Exception table:
        from    to  target  type
           1    12      13  any
          13    14      13  any
    Exceptions:
      throws com.sun.jmx.snmp.daemon.CommunicationException, java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 330
            aload 0 /* this */
            lconst_0
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.start:(J)V
         1: .line 331
            goto 7
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         2: astore 1 /* x */
        start local 1 // java.lang.InterruptedException x
         3: .line 333
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 7
         4: .line 334
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         5: .line 335
            ldc "start"
            ldc "interrupted"
            aload 1 /* x */
         6: .line 334
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.InterruptedException x
         7: .line 338
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            3    7     1     x  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InterruptedException

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 348
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 349
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_1
            if_icmpeq 2
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_2
            if_icmpne 8
         2: .line 350
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 6
         3: .line 351
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         4: .line 352
            ldc "stop"
            ldc "Connector is not ONLINE"
         5: .line 351
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 354
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
         7: return
         8: .line 356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
         9: .line 360
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 13
        10: .line 361
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        11: .line 362
            ldc "stop"
            ldc "Interrupt main thread"
        12: .line 361
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.stopRequested:Z
        14: .line 365
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
            ifne 17
        15: .line 366
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
        16: .line 367
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.mainThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        17: .line 348
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        18: goto 21
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: aload 1
            monitorexit
        20: athrow
        21: .line 374
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 25
        22: .line 375
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        23: .line 376
            ldc "stop"
            ldc "terminateAllClient"
        24: .line 375
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        25: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.terminateAllClient:()V
        26: .line 383
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
        27: .line 384
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_3
            if_icmpne 29
        28: .line 385
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        29: .line 383
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
        30: goto 33
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: aload 1
            monitorexit
        32: athrow
        33: .line 387
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   34     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
      Exception table:
        from    to  target  type
           1     7      19  any
           8    18      19  any
          19    20      19  any
          27    30      31  any
          31    32      31  any

  public boolean isActive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 396
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 397
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            ifne 2
            iconst_1
            goto 3
      StackMap locals: java.lang.Object
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: aload 1
            monitorexit
         4: ireturn
         5: .line 396
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         6: athrow
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  public boolean waitState(int, long);
    descriptor: (IJ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // int wantedState
        start local 2 // long timeOut
         0: .line 435
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 5
         1: .line 436
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         2: .line 437
            ldc "waitState"
            new java.lang.StringBuilder
            dup
            iload 1 /* wantedState */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "(0on,1off,2st) TO="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 2 /* timeOut */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         3: .line 438
            ldc " ; current state = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getStateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 436
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 441
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 4 /* endTime */
        start local 4 // long endTime
         6: .line 442
            lload 2 /* timeOut */
            lconst_0
            lcmp
            ifle 8
         7: .line 443
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* timeOut */
            ladd
            lstore 4 /* endTime */
         8: .line 445
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
         9: .line 446
            goto 39
        10: .line 447
      StackMap locals: java.lang.Object
      StackMap stack:
            lload 2 /* timeOut */
            lconst_0
            lcmp
            ifge 17
        11: .line 448
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 15
        12: .line 449
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        13: .line 450
            ldc "waitState"
            ldc "timeOut < 0, return without wait"
        14: .line 449
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        15: .line 452
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        16: iconst_0
            ireturn
        17: .line 455
      StackMap locals:
      StackMap stack:
            lload 2 /* timeOut */
            lconst_0
            lcmp
            ifle 28
        18: .line 456
            lload 4 /* endTime */
            invokestatic java.lang.System.currentTimeMillis:()J
            lsub
            lstore 7 /* toWait */
        start local 7 // long toWait
        19: .line 457
            lload 7 /* toWait */
            lconst_0
            lcmp
            ifgt 26
        20: .line 458
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 24
        21: .line 459
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        22: .line 460
            ldc "waitState"
            ldc "timed out"
        23: .line 459
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        24: .line 462
      StackMap locals: long
      StackMap stack:
            aload 6
            monitorexit
        25: iconst_0
            ireturn
        26: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            lload 7 /* toWait */
            invokevirtual java.lang.Object.wait:(J)V
        end local 7 // long toWait
        27: .line 465
            goto 39
        28: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            invokevirtual java.lang.Object.wait:()V
        29: .line 468
            goto 39
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        30: pop
        31: .line 469
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 35
        32: .line 470
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        33: .line 471
            ldc "waitState"
            ldc "wait interrupted"
        34: .line 470
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        35: .line 473
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iload 1 /* wantedState */
            if_icmpne 36
            iconst_1
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_0
      StackMap locals:
      StackMap stack: int
        37: aload 6
            monitorexit
        38: ireturn
        39: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iload 1 /* wantedState */
            if_icmpne 10
        40: .line 477
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 44
        41: .line 478
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        42: .line 479
            ldc "waitState"
            ldc "returning in desired state"
        43: .line 478
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        44: .line 481
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        45: iconst_1
            ireturn
        46: .line 445
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        47: athrow
        end local 4 // long endTime
        end local 2 // long timeOut
        end local 1 // int wantedState
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   48     0         this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   48     1  wantedState  I
            0   48     2      timeOut  J
            6   48     4      endTime  J
           19   27     7       toWait  J
      Exception table:
        from    to  target  type
          17    24      30  Class java.lang.InterruptedException
          26    29      30  Class java.lang.InterruptedException
           9    16      46  any
          17    25      46  any
          26    38      46  any
          39    45      46  any
          46    47      46  any
    MethodParameters:
             Name  Flags
      wantedState  
      timeOut      

  private void waitForStart(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // long timeout
         0: .line 504
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 5
         1: .line 505
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         2: .line 506
            ldc "waitForStart"
            new java.lang.StringBuilder
            dup
            ldc "Timeout="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 1 /* timeout */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         3: .line 507
            ldc " ; current state = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getStateString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 505
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 510
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* startTime */
        start local 3 // long startTime
         6: .line 512
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         7: .line 513
            goto 24
         8: .line 516
      StackMap locals: long java.lang.Object
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 3 /* startTime */
            lsub
            lstore 6 /* elapsed */
        start local 6 // long elapsed
         9: .line 523
            lload 1 /* timeout */
            lload 6 /* elapsed */
            lsub
            lstore 8 /* remainingTime */
        start local 8 // long remainingTime
        10: .line 527
            lload 8 /* remainingTime */
            lconst_0
            lcmp
            ifge 16
        11: .line 528
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 15
        12: .line 529
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        13: .line 530
            ldc "waitForStart"
            ldc "timeout < 0, return without wait"
        14: .line 529
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        15: .line 532
      StackMap locals: long long
      StackMap stack:
            new java.lang.InterruptedException
            dup
            ldc "Timeout expired"
            invokespecial java.lang.InterruptedException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            lload 8 /* remainingTime */
            invokevirtual java.lang.Object.wait:(J)V
        17: .line 541
            goto 24
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        18: astore 10 /* e */
        start local 10 // java.lang.InterruptedException e
        19: .line 542
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 23
        20: .line 543
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        21: .line 544
            ldc "waitForStart"
            ldc "wait interrupted"
        22: .line 543
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        23: .line 551
      StackMap locals: java.lang.InterruptedException
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            ifeq 24
            aload 10 /* e */
            athrow
        end local 10 // java.lang.InterruptedException e
        end local 8 // long remainingTime
        end local 6 // long elapsed
        24: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_3
            if_icmpeq 8
        25: .line 557
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            ifne 32
        26: .line 560
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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
        27: .line 561
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        28: .line 562
            ldc "waitForStart"
            ldc "started"
        29: .line 561
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        30: .line 564
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        31: return
        32: .line 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
            instanceof com.sun.jmx.snmp.daemon.CommunicationException
            ifeq 34
        33: .line 569
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
            checkcast com.sun.jmx.snmp.daemon.CommunicationException
            athrow
        34: .line 570
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
            instanceof java.lang.InterruptedException
            ifeq 36
        35: .line 574
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
            checkcast java.lang.InterruptedException
            athrow
        36: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
            ifnull 42
        37: .line 579
            new com.sun.jmx.snmp.daemon.CommunicationException
            dup
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
        38: .line 580
            new java.lang.StringBuilder
            dup
            ldc "Failed to start: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        39: .line 581
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        40: .line 580
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 579
            invokespecial com.sun.jmx.snmp.daemon.CommunicationException.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
            athrow
        42: .line 586
      StackMap locals:
      StackMap stack:
            new com.sun.jmx.snmp.daemon.CommunicationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to start: state is "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 587
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            invokestatic com.sun.jmx.snmp.daemon.CommunicatorServer.getStringForState:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 586
            invokespecial com.sun.jmx.snmp.daemon.CommunicationException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 512
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        46: athrow
        end local 3 // long startTime
        end local 1 // long timeout
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   47     0           this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   47     1        timeout  J
            6   47     3      startTime  J
            9   24     6        elapsed  J
           10   24     8  remainingTime  J
           19   24    10              e  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.InterruptedException
           7    31      45  any
          32    46      45  any
    Exceptions:
      throws com.sun.jmx.snmp.daemon.CommunicationException, java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  

  public int getState();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 600
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 601
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            aload 1
            monitorexit
         2: ireturn
         3: .line 600
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public java.lang.String getStateString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 613
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            invokestatic com.sun.jmx.snmp.daemon.CommunicatorServer.getStringForState:(I)Ljava/lang/String;
            areturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  public java.lang.String getHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 624
            aload 0 /* this */
            invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.host:Ljava/lang/String;
         1: .line 625
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: pop
         3: .line 626
            aload 0 /* this */
            ldc "Unknown host"
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.host:Ljava/lang/String;
         4: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.host:Ljava/lang/String;
            areturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception

  public int getPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 638
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 639
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.port:I
            aload 1
            monitorexit
         2: ireturn
         3: .line 638
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public void setPort(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // int port
         0: .line 654
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 655
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            ifeq 2
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_3
            if_icmpne 3
         2: .line 656
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Stop server before carrying out this operation"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* port */
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.port:I
         4: .line 659
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.makeDebugTag:()Ljava/lang/String;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         5: .line 654
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 661
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int port
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   10     1  port  I
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
      Name  Flags
      port  

  public abstract java.lang.String getProtocol();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  int getServedClientCount();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 680
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.servedClientCount:I
            ireturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  int getActiveClientCount();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 691
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 1 /* result */
        start local 1 // int result
         1: .line 692
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            1    2     1  result  I

  int getMaxActiveClientCount();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 704
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.maxActiveClientCount:I
            ireturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  void setMaxActiveClientCount(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // int c
         0: .line 718
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 719
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            ifeq 2
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_3
            if_icmpne 5
         2: .line 720
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.lang.IllegalStateException
            dup
         3: .line 721
            ldc "Stop server before carrying out this operation"
         4: .line 720
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* c */
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.maxActiveClientCount:I
         6: .line 718
            aload 2
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 2
            monitorexit
         9: athrow
        10: .line 725
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int c
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   11     1     c  I
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
      Name  Flags
      c     

  void notifyClientHandlerCreated(com.sun.jmx.snmp.daemon.ClientHandler);
    descriptor: (Lcom/sun/jmx/snmp/daemon/ClientHandler;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // com.sun.jmx.snmp.daemon.ClientHandler h
         0: .line 731
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            aload 1 /* h */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         1: .line 732
            return
        end local 1 // com.sun.jmx.snmp.daemon.ClientHandler h
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0    2     1     h  Lcom/sun/jmx/snmp/daemon/ClientHandler;
    MethodParameters:
      Name  Flags
      h     

  synchronized void notifyClientHandlerDeleted(com.sun.jmx.snmp.daemon.ClientHandler);
    descriptor: (Lcom/sun/jmx/snmp/daemon/ClientHandler;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // com.sun.jmx.snmp.daemon.ClientHandler h
         0: .line 738
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            aload 1 /* h */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            pop
         1: .line 739
            aload 0 /* this */
            invokevirtual java.lang.Object.notifyAll:()V
         2: .line 740
            return
        end local 1 // com.sun.jmx.snmp.daemon.ClientHandler h
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0    3     1     h  Lcom/sun/jmx/snmp/daemon/ClientHandler;
    MethodParameters:
      Name  Flags
      h     

  protected int getBindTries();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 747
            bipush 50
            ireturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  protected long getBindSleepTime();
    descriptor: ()J
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 755
            ldc 100
            lreturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 771
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: .line 772
            iconst_0
            istore 2 /* success */
        start local 2 // boolean success
         2: .line 780
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getBindTries:()I
            istore 3 /* bindRetries */
        start local 3 // int bindRetries
         3: .line 781
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getBindSleepTime:()J
            lstore 4 /* sleepTime */
        start local 4 // long sleepTime
         4: .line 782
            goto 14
         5: .line 786
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int int long
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doBind:()V
         6: .line 787
            iconst_1
            istore 2 /* success */
         7: .line 788
            goto 14
      StackMap locals:
      StackMap stack: com.sun.jmx.snmp.daemon.CommunicationException
         8: pop
         9: .line 789
            iinc 1 /* i */ 1
        10: .line 791
            lload 4 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
        11: .line 792
            goto 14
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        12: astore 6 /* ie */
        start local 6 // java.lang.InterruptedException ie
        13: .line 793
            aload 6 /* ie */
            athrow
        end local 6 // java.lang.InterruptedException ie
        14: .line 782
      StackMap locals:
      StackMap stack:
            iload 1 /* i */
            iload 3 /* bindRetries */
            if_icmpge 15
            iload 2 /* success */
            ifeq 5
        15: .line 799
      StackMap locals:
      StackMap stack:
            iload 2 /* success */
            ifne 36
        16: .line 802
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doBind:()V
        end local 4 // long sleepTime
        end local 3 // int bindRetries
        17: .line 805
            goto 36
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack: java.lang.Exception
        18: astore 3 /* x */
        start local 3 // java.lang.Exception x
        19: .line 806
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 23
        20: .line 807
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        21: .line 808
            ldc "run"
            ldc "Got unexpected exception"
            aload 3 /* x */
        22: .line 807
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        23: .line 810
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
        24: .line 811
            aload 0 /* this */
            aload 3 /* x */
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.startException:Ljava/lang/Exception;
        25: .line 812
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        26: .line 810
            aload 4
            monitorexit
        27: goto 30
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int java.lang.Exception java.lang.Object
      StackMap stack: java.lang.Throwable
        28: aload 4
            monitorexit
        29: athrow
        30: .line 814
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 34
        31: .line 815
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        32: .line 816
            ldc "run"
            ldc "State is OFFLINE"
        33: .line 815
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        34: .line 818
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* x */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doError:(Ljava/lang/Exception;)V
        35: .line 819
            return
        end local 3 // java.lang.Exception x
        36: .line 826
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        37: .line 827
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 46
        38: .line 828
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        39: .line 829
            ldc "run"
            ldc "State is ONLINE"
        40: .line 828
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        41: .line 835
            goto 46
        42: .line 836
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.servedClientCount:I
            iconst_1
            iadd
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.servedClientCount:I
        43: .line 837
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doReceive:()V
        44: .line 838
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.waitIfTooManyClients:()V
        45: .line 839
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doProcess:()V
        46: .line 835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stopRequested:Z
            ifeq 42
        47: .line 841
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 131
        48: .line 842
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        49: .line 843
            ldc "run"
            ldc "Stop has been requested"
        50: .line 842
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        51: .line 846
            goto 131
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        52: pop
        53: .line 847
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 57
        54: .line 848
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        55: .line 849
            ldc "run"
            ldc "Interrupt caught"
        56: .line 848
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        57: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        58: .line 859
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        59: .line 860
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
        60: .line 861
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        61: .line 859
            aload 5
            monitorexit
        62: goto 65
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int top top java.lang.Object
      StackMap stack: java.lang.Throwable
        63: aload 5
            monitorexit
        64: athrow
        65: .line 868
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doUnbind:()V
        66: .line 869
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.waitClientTermination:()V
        67: .line 870
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        68: .line 871
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 152
        69: .line 872
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        70: .line 873
            ldc "run"
            ldc "State is OFFLINE"
        71: .line 872
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        72: .line 875
            goto 152
      StackMap locals:
      StackMap stack: java.lang.Exception
        73: astore 5 /* x */
        start local 5 // java.lang.Exception x
        74: .line 876
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 78
        75: .line 877
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        76: .line 878
            ldc "run"
            ldc "Got unexpected exception"
            aload 5 /* x */
        77: .line 877
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        78: .line 880
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int top top java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        end local 5 // java.lang.Exception x
        79: goto 152
        80: .line 852
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack: java.lang.Exception
            astore 3 /* x */
        start local 3 // java.lang.Exception x
        81: .line 853
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 85
        82: .line 854
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        83: .line 855
            ldc "run"
            ldc "Got unexpected exception"
            aload 3 /* x */
        84: .line 854
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        85: .line 857
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        end local 3 // java.lang.Exception x
        86: .line 859
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
        87: .line 860
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
        88: .line 861
            invokestatic java.lang.Thread.interrupted:()Z
            pop
        89: .line 859
            aload 5
            monitorexit
        90: goto 93
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int top top java.lang.Object
      StackMap stack: java.lang.Throwable
        91: aload 5
            monitorexit
        92: athrow
        93: .line 868
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doUnbind:()V
        94: .line 869
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.waitClientTermination:()V
        95: .line 870
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        96: .line 871
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 152
        97: .line 872
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        98: .line 873
            ldc "run"
            ldc "State is OFFLINE"
        99: .line 872
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       100: .line 875
            goto 152
      StackMap locals:
      StackMap stack: java.lang.Exception
       101: astore 5 /* x */
        start local 5 // java.lang.Exception x
       102: .line 876
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 106
       103: .line 877
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
       104: .line 878
            ldc "run"
            ldc "Got unexpected exception"
            aload 5 /* x */
       105: .line 877
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
       106: .line 880
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int top top java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        end local 5 // java.lang.Exception x
       107: goto 152
       108: .line 858
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack: java.lang.Throwable
            astore 4
       109: .line 859
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
       110: .line 860
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
       111: .line 861
            invokestatic java.lang.Thread.interrupted:()Z
            pop
       112: .line 859
            aload 5
            monitorexit
       113: goto 116
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int top java.lang.Throwable java.lang.Object
      StackMap stack: java.lang.Throwable
       114: aload 5
            monitorexit
       115: athrow
       116: .line 868
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doUnbind:()V
       117: .line 869
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.waitClientTermination:()V
       118: .line 870
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
       119: .line 871
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 130
       120: .line 872
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
       121: .line 873
            ldc "run"
            ldc "State is OFFLINE"
       122: .line 872
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       123: .line 875
            goto 130
      StackMap locals:
      StackMap stack: java.lang.Exception
       124: astore 5 /* x */
        start local 5 // java.lang.Exception x
       125: .line 876
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 129
       126: .line 877
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
       127: .line 878
            ldc "run"
            ldc "Got unexpected exception"
            aload 5 /* x */
       128: .line 877
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
       129: .line 880
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        end local 5 // java.lang.Exception x
       130: .line 883
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
       131: .line 859
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
       132: .line 860
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.interrupted:Z
       133: .line 861
            invokestatic java.lang.Thread.interrupted:()Z
            pop
       134: .line 859
            aload 5
            monitorexit
       135: goto 138
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int top top java.lang.Object
      StackMap stack: java.lang.Throwable
       136: aload 5
            monitorexit
       137: athrow
       138: .line 868
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.doUnbind:()V
       139: .line 869
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.waitClientTermination:()V
       140: .line 870
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
       141: .line 871
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 152
       142: .line 872
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
       143: .line 873
            ldc "run"
            ldc "State is OFFLINE"
       144: .line 872
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
       145: .line 875
            goto 152
      StackMap locals:
      StackMap stack: java.lang.Exception
       146: astore 5 /* x */
        start local 5 // java.lang.Exception x
       147: .line 876
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 151
       148: .line 877
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
       149: .line 878
            ldc "run"
            ldc "Got unexpected exception"
            aload 5 /* x */
       150: .line 877
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
       151: .line 880
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int top top java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.changeState:(I)V
        end local 5 // java.lang.Exception x
       152: .line 884
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack:
            return
        end local 2 // boolean success
        end local 1 // int i
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  153     0         this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            1  153     1            i  I
            2  153     2      success  Z
            3   17     3  bindRetries  I
            4   17     4    sleepTime  J
           13   14     6           ie  Ljava/lang/InterruptedException;
           19   36     3            x  Ljava/lang/Exception;
           81   86     3            x  Ljava/lang/Exception;
           74   79     5            x  Ljava/lang/Exception;
          102  107     5            x  Ljava/lang/Exception;
          125  130     5            x  Ljava/lang/Exception;
          147  152     5            x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     7       8  Class com.sun.jmx.snmp.daemon.CommunicationException
          10    11      12  Class java.lang.InterruptedException
           2    17      18  Class java.lang.Exception
          24    27      28  any
          28    29      28  any
          36    51      52  Class java.lang.InterruptedException
          59    62      63  any
          63    64      63  any
          65    72      73  Class java.lang.Exception
          36    51      80  Class java.lang.Exception
          87    90      91  any
          91    92      91  any
          93   100     101  Class java.lang.Exception
          36    58     108  any
          80    86     108  any
         110   113     114  any
         114   115     114  any
         116   123     124  Class java.lang.Exception
         132   135     136  any
         136   137     136  any
         138   145     146  Class java.lang.Exception

  protected abstract void doError(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws com.sun.jmx.snmp.daemon.CommunicationException
    MethodParameters:
      Name  Flags
      e     

  protected abstract void doBind();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws com.sun.jmx.snmp.daemon.CommunicationException, java.lang.InterruptedException

  protected abstract void doReceive();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws com.sun.jmx.snmp.daemon.CommunicationException, java.lang.InterruptedException

  protected abstract void doProcess();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws com.sun.jmx.snmp.daemon.CommunicationException, java.lang.InterruptedException

  protected abstract void doUnbind();
    descriptor: ()V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws com.sun.jmx.snmp.daemon.CommunicationException, java.lang.InterruptedException

  public synchronized javax.management.MBeanServer getMBeanServer();
    descriptor: ()Ljavax/management/MBeanServer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 948
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.topMBS:Ljavax/management/MBeanServer;
            areturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  public synchronized void setMBeanServer(javax.management.MBeanServer);
    descriptor: (Ljavax/management/MBeanServer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // javax.management.MBeanServer newMBS
         0: .line 971
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 972
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            ifeq 2
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iconst_3
            if_icmpne 3
         2: .line 973
      StackMap locals: java.lang.Object
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Stop server before carrying out this operation"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 971
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 980
      StackMap locals:
      StackMap stack:
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* seenMBS */
        start local 2 // java.util.Vector seenMBS
         8: .line 981
            aload 1 /* newMBS */
            astore 3 /* mbs */
        start local 3 // javax.management.MBeanServer mbs
         9: .line 982
            goto 16
        10: .line 984
      StackMap locals: java.util.Vector javax.management.MBeanServer
      StackMap stack:
            aload 3 /* mbs */
            instanceof javax.management.remote.MBeanServerForwarder
            ifne 12
        11: .line 985
            new java.lang.IllegalArgumentException
            dup
            ldc "MBeanServer argument must be MBean server where this server is registered, or an MBeanServerForwarder leading to that server"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 986
      StackMap locals:
      StackMap stack:
            aload 2 /* seenMBS */
            aload 3 /* mbs */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 987
            new java.lang.IllegalArgumentException
            dup
            ldc "MBeanServerForwarder loop"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 989
      StackMap locals:
      StackMap stack:
            aload 2 /* seenMBS */
            aload 3 /* mbs */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        15: .line 983
            aload 3 /* mbs */
            checkcast javax.management.remote.MBeanServerForwarder
            invokeinterface javax.management.remote.MBeanServerForwarder.getMBeanServer:()Ljavax/management/MBeanServer;
            astore 3 /* mbs */
        16: .line 982
      StackMap locals:
      StackMap stack:
            aload 3 /* mbs */
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.bottomMBS:Ljavax/management/MBeanServer;
            if_acmpne 10
        end local 3 // javax.management.MBeanServer mbs
        17: .line 991
            aload 0 /* this */
            aload 1 /* newMBS */
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.topMBS:Ljavax/management/MBeanServer;
        18: .line 992
            return
        end local 2 // java.util.Vector seenMBS
        end local 1 // javax.management.MBeanServer newMBS
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   19     1   newMBS  Ljavax/management/MBeanServer;
            8   19     2  seenMBS  Ljava/util/Vector<Ljavax/management/MBeanServer;>;
            9   17     3      mbs  Ljavax/management/MBeanServer;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
    MethodParameters:
        Name  Flags
      newMBS  

  javax.management.ObjectName getObjectName();
    descriptor: ()Ljavax/management/ObjectName;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1001
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.objectName:Ljavax/management/ObjectName;
            areturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  void changeState(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // int newState
         0: .line 1009
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 1010
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            iload 1 /* newState */
            if_icmpne 4
         2: .line 1011
            aload 3
            monitorexit
         3: return
         4: .line 1012
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int top java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
            istore 2 /* oldState */
        start local 2 // int oldState
         5: .line 1013
            aload 0 /* this */
            iload 1 /* newState */
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
         6: .line 1014
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
         7: .line 1009
            aload 3
            monitorexit
         8: goto 11
        end local 2 // int oldState
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        start local 2 // int oldState
        11: .line 1016
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* oldState */
            iload 1 /* newState */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.sendStateChangeNotification:(II)V
        12: .line 1017
            return
        end local 2 // int oldState
        end local 1 // int newState
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   13     1  newState  I
            5    9     2  oldState  I
           11   13     2  oldState  I
      Exception table:
        from    to  target  type
           1     3       9  any
           4     8       9  any
           9    10       9  any
    MethodParameters:
          Name  Flags
      newState  

  java.lang.String makeDebugTag();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1023
            new java.lang.StringBuilder
            dup
            ldc "CommunicatorServer["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getPort:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;

  java.lang.String makeThreadName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1032
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.objectName:Ljavax/management/ObjectName;
            ifnonnull 3
         1: .line 1033
            ldc "CommunicatorServer"
            astore 1 /* result */
        start local 1 // java.lang.String result
         2: goto 4
        end local 1 // java.lang.String result
         3: .line 1035
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.objectName:Ljavax/management/ObjectName;
            invokevirtual javax.management.ObjectName.toString:()Ljava/lang/String;
            astore 1 /* result */
        start local 1 // java.lang.String result
         4: .line 1037
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String result
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            2    3     1  result  Ljava/lang/String;
            4    5     1  result  Ljava/lang/String;

  private synchronized void waitIfTooManyClients();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1047
            goto 6
         1: .line 1048
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 5
         2: .line 1049
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         3: .line 1050
            ldc "waitIfTooManyClients"
            ldc "Waiting for a client to terminate"
         4: .line 1049
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 1052
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.wait:()V
         6: .line 1047
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getActiveClientCount:()I
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.maxActiveClientCount:I
            if_icmpge 1
         7: .line 1054
            return
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
    Exceptions:
      throws java.lang.InterruptedException

  private void waitClientTermination();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1060
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 1 /* s */
        start local 1 // int s
         1: .line 1061
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 15
         2: .line 1062
            iload 1 /* s */
            iconst_1
            if_icmplt 15
         3: .line 1063
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         4: .line 1064
            ldc "waitClientTermination"
            new java.lang.StringBuilder
            dup
            ldc "waiting for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 1065
            iload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " clients to terminate"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 1063
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         7: .line 1081
            goto 15
         8: .line 1083
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            invokevirtual java.util.Vector.firstElement:()Ljava/lang/Object;
            checkcast com.sun.jmx.snmp.daemon.ClientHandler
            invokevirtual com.sun.jmx.snmp.daemon.ClientHandler.join:()V
         9: .line 1084
            goto 15
      StackMap locals:
      StackMap stack: java.util.NoSuchElementException
        10: astore 2 /* x */
        start local 2 // java.util.NoSuchElementException x
        11: .line 1085
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 15
        12: .line 1086
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        13: .line 1087
            ldc "waitClientTermination"
            ldc "No elements left"
            aload 2 /* x */
        14: .line 1086
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 2 // java.util.NoSuchElementException x
        15: .line 1081
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            invokevirtual java.util.Vector.isEmpty:()Z
            ifeq 8
        16: .line 1092
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 21
        17: .line 1093
            iload 1 /* s */
            iconst_1
            if_icmplt 21
        18: .line 1094
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        19: .line 1095
            ldc "waitClientTermination"
            ldc "Ok, let's go..."
        20: .line 1094
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        21: .line 1098
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int s
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   22     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            1   22     1     s  I
           11   15     2     x  Ljava/util/NoSuchElementException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.util.NoSuchElementException

  private void terminateAllClient();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1104
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            invokevirtual java.util.Vector.size:()I
            istore 1 /* s */
        start local 1 // int s
         1: .line 1105
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 6
         2: .line 1106
            iload 1 /* s */
            iconst_1
            if_icmplt 6
         3: .line 1107
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         4: .line 1108
            ldc "terminateAllClient"
            new java.lang.StringBuilder
            dup
            ldc "Interrupting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* s */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " clients"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 1107
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 1130
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
            iconst_0
            anewarray com.sun.jmx.snmp.daemon.ClientHandler
            invokevirtual java.util.Vector.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.jmx.snmp.daemon.ClientHandler[]
         7: .line 1129
            astore 2 /* handlers */
        start local 2 // com.sun.jmx.snmp.daemon.ClientHandler[] handlers
         8: .line 1131
            aload 2 /* handlers */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 20
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int com.sun.jmx.snmp.daemon.ClientHandler[] top int int com.sun.jmx.snmp.daemon.ClientHandler[]
      StackMap stack:
         9: aload 6
            iload 4
            aaload
            astore 3 /* h */
        start local 3 // com.sun.jmx.snmp.daemon.ClientHandler h
        10: .line 1133
            aload 3 /* h */
            invokevirtual com.sun.jmx.snmp.daemon.ClientHandler.interrupt:()V
        11: .line 1134
            goto 19
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int com.sun.jmx.snmp.daemon.ClientHandler[] com.sun.jmx.snmp.daemon.ClientHandler int int com.sun.jmx.snmp.daemon.ClientHandler[]
      StackMap stack: java.lang.Exception
        12: astore 7 /* x */
        start local 7 // java.lang.Exception x
        13: .line 1135
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_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 19
        14: .line 1136
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINER:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        15: .line 1137
            ldc "terminateAllClient"
        16: .line 1138
            ldc "Failed to interrupt pending request. Ignore the exception."
        17: .line 1139
            aload 7 /* x */
        18: .line 1136
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 7 // java.lang.Exception x
        end local 3 // com.sun.jmx.snmp.daemon.ClientHandler h
        19: .line 1131
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int com.sun.jmx.snmp.daemon.ClientHandler[] top int int com.sun.jmx.snmp.daemon.ClientHandler[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        20: iload 4
            iload 5
            if_icmplt 9
        21: .line 1143
            return
        end local 2 // com.sun.jmx.snmp.daemon.ClientHandler[] handlers
        end local 1 // int s
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            1   22     1         s  I
            8   22     2  handlers  [Lcom/sun/jmx/snmp/daemon/ClientHandler;
           10   19     3         h  Lcom/sun/jmx/snmp/daemon/ClientHandler;
           13   19     7         x  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Exception

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 1153
            aload 1 /* stream */
            invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
         1: .line 1159
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.stateLock:Ljava/lang/Object;
         2: .line 1160
            aload 0 /* this */
            iconst_1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.state:I
         3: .line 1161
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.stopRequested:Z
         4: .line 1162
            aload 0 /* this */
            iconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.servedClientCount:I
         5: .line 1163
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.clientHandlerVector:Ljava/util/Vector;
         6: .line 1164
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.mainThread:Ljava/lang/Thread;
         7: .line 1165
            aload 0 /* this */
            lconst_0
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifCount:J
         8: .line 1166
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifInfos:[Ljavax/management/MBeanNotificationInfo;
         9: .line 1167
            aload 0 /* this */
            new javax.management.NotificationBroadcasterSupport
            dup
            invokespecial javax.management.NotificationBroadcasterSupport.<init>:()V
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
        10: .line 1168
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.makeDebugTag:()Ljava/lang/String;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        11: .line 1169
            return
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   12     1  stream  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      stream  

  public void addNotificationListener(javax.management.NotificationListener, javax.management.NotificationFilter, java.lang.Object);
    descriptor: (Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // javax.management.NotificationListener listener
        start local 2 // javax.management.NotificationFilter filter
        start local 3 // java.lang.Object handback
         0: .line 1199
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 5
         1: .line 1200
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         2: .line 1201
            ldc "addNotificationListener"
            new java.lang.StringBuilder
            dup
            ldc "Adding listener "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* listener */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 1202
            ldc " with filter "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* filter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and handback "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* handback */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1200
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 1204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
            aload 1 /* listener */
            aload 2 /* filter */
            aload 3 /* handback */
            invokevirtual javax.management.NotificationBroadcasterSupport.addNotificationListener:(Ljavax/management/NotificationListener;Ljavax/management/NotificationFilter;Ljava/lang/Object;)V
         6: .line 1205
            return
        end local 3 // java.lang.Object handback
        end local 2 // javax.management.NotificationFilter filter
        end local 1 // javax.management.NotificationListener listener
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0    7     1  listener  Ljavax/management/NotificationListener;
            0    7     2    filter  Ljavax/management/NotificationFilter;
            0    7     3  handback  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
          Name  Flags
      listener  
      filter    
      handback  

  public void removeNotificationListener(javax.management.NotificationListener);
    descriptor: (Ljavax/management/NotificationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // javax.management.NotificationListener listener
         0: .line 1221
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 4
         1: .line 1222
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
         2: .line 1223
            ldc "removeNotificationListener"
            new java.lang.StringBuilder
            dup
            ldc "Removing listener "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* listener */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 1222
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
            aload 1 /* listener */
            invokevirtual javax.management.NotificationBroadcasterSupport.removeNotificationListener:(Ljavax/management/NotificationListener;)V
         5: .line 1226
            return
        end local 1 // javax.management.NotificationListener listener
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0    6     1  listener  Ljavax/management/NotificationListener;
    Exceptions:
      throws javax.management.ListenerNotFoundException
    MethodParameters:
          Name  Flags
      listener  

  public javax.management.MBeanNotificationInfo[] getNotificationInfo();
    descriptor: ()[Ljavax/management/MBeanNotificationInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1241
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifInfos:[Ljavax/management/MBeanNotificationInfo;
            ifnonnull 9
         1: .line 1242
            aload 0 /* this */
            iconst_1
            anewarray javax.management.MBeanNotificationInfo
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifInfos:[Ljavax/management/MBeanNotificationInfo;
         2: .line 1243
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
         3: .line 1244
            ldc "jmx.attribute.change"
            aastore
         4: .line 1243
            astore 1 /* notifTypes */
        start local 1 // java.lang.String[] notifTypes
         5: .line 1245
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifInfos:[Ljavax/management/MBeanNotificationInfo;
            iconst_0
            new javax.management.MBeanNotificationInfo
            dup
            aload 1 /* notifTypes */
         6: .line 1246
            ldc Ljavax/management/AttributeChangeNotification;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         7: .line 1247
            ldc "Sent to notify that the value of the State attribute of this CommunicatorServer instance has changed."
            invokespecial javax.management.MBeanNotificationInfo.<init>:([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 1245
            aastore
        end local 1 // java.lang.String[] notifTypes
         9: .line 1251
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifInfos:[Ljavax/management/MBeanNotificationInfo;
            invokevirtual javax.management.MBeanNotificationInfo[].clone:()Ljava/lang/Object;
            checkcast javax.management.MBeanNotificationInfo[]
            areturn
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            5    9     1  notifTypes  [Ljava/lang/String;

  private void sendStateChangeNotification(int, int);
    descriptor: (II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=7, args_size=3
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // int oldState
        start local 2 // int newState
         0: .line 1259
            iload 1 /* oldState */
            invokestatic com.sun.jmx.snmp.daemon.CommunicatorServer.getStringForState:(I)Ljava/lang/String;
            astore 3 /* oldStateString */
        start local 3 // java.lang.String oldStateString
         1: .line 1260
            iload 2 /* newState */
            invokestatic com.sun.jmx.snmp.daemon.CommunicatorServer.getStringForState:(I)Ljava/lang/String;
            astore 4 /* newStateString */
        start local 4 // java.lang.String newStateString
         2: .line 1261
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
         3: .line 1262
            ldc " The value of attribute State has changed from "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
         4: .line 1263
            iload 1 /* oldState */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            ldc " ("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 3 /* oldStateString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
         5: .line 1264
            ldc ") to "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            iload 2 /* newState */
            invokevirtual java.lang.StringBuffer.append:(I)Ljava/lang/StringBuffer;
            ldc " ("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
         6: .line 1265
            aload 4 /* newStateString */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            ldc ")."
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
         7: .line 1261
            astore 5 /* message */
        start local 5 // java.lang.String message
         8: .line 1267
            aload 0 /* this */
            dup
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifCount:J
            lconst_1
            ladd
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifCount:J
         9: .line 1269
            new javax.management.AttributeChangeNotification
            dup
            aload 0 /* this */
        10: .line 1270
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifCount:J
        11: .line 1271
            invokestatic java.lang.System.currentTimeMillis:()J
        12: .line 1272
            aload 5 /* message */
        13: .line 1273
            ldc "State"
        14: .line 1274
            ldc "int"
        15: .line 1275
            new java.lang.Integer
            dup
            iload 1 /* oldState */
            invokespecial java.lang.Integer.<init>:(I)V
        16: .line 1276
            new java.lang.Integer
            dup
            iload 2 /* newState */
            invokespecial java.lang.Integer.<init>:(I)V
        17: .line 1269
            invokespecial javax.management.AttributeChangeNotification.<init>:(Ljava/lang/Object;JJLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 1268
            astore 6 /* notif */
        start local 6 // javax.management.AttributeChangeNotification notif
        19: .line 1277
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 24
        20: .line 1278
            getstatic com.sun.jmx.defaults.JmxProperties.SNMP_ADAPTOR_LOGGER:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINEST:Ljava/util/logging/Level;
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        21: .line 1279
            ldc "sendStateChangeNotification"
            new java.lang.StringBuilder
            dup
            ldc "Sending AttributeChangeNotification #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 1280
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifCount:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " with message: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 1278
            invokevirtual java.util.logging.Logger.logp:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        24: .line 1282
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer int int java.lang.String java.lang.String java.lang.String javax.management.AttributeChangeNotification
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.notifBroadcaster:Ljavax/management/NotificationBroadcasterSupport;
            aload 6 /* notif */
            invokevirtual javax.management.NotificationBroadcasterSupport.sendNotification:(Ljavax/management/Notification;)V
        25: .line 1283
            return
        end local 6 // javax.management.AttributeChangeNotification notif
        end local 5 // java.lang.String message
        end local 4 // java.lang.String newStateString
        end local 3 // java.lang.String oldStateString
        end local 2 // int newState
        end local 1 // int oldState
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   26     0            this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   26     1        oldState  I
            0   26     2        newState  I
            1   26     3  oldStateString  Ljava/lang/String;
            2   26     4  newStateString  Ljava/lang/String;
            8   26     5         message  Ljava/lang/String;
           19   26     6           notif  Ljavax/management/AttributeChangeNotification;
    MethodParameters:
          Name  Flags
      oldState  
      newState  

  private static java.lang.String getStringForState(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int s
         0: .line 1289
            iload 0 /* s */
            tableswitch { // 0 - 3
                    0: 1
                    1: 3
                    2: 4
                    3: 2
              default: 5
          }
         1: .line 1290
      StackMap locals:
      StackMap stack:
            ldc "ONLINE"
            areturn
         2: .line 1291
      StackMap locals:
      StackMap stack:
            ldc "STARTING"
            areturn
         3: .line 1292
      StackMap locals:
      StackMap stack:
            ldc "OFFLINE"
            areturn
         4: .line 1293
      StackMap locals:
      StackMap stack:
            ldc "STOPPING"
            areturn
         5: .line 1294
      StackMap locals:
      StackMap stack:
            ldc "UNDEFINED"
            areturn
        end local 0 // int s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     s  I
    MethodParameters:
      Name  Flags
      s     

  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=4, locals=4, args_size=3
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // javax.management.MBeanServer server
        start local 2 // javax.management.ObjectName name
         0: .line 1319
            aload 0 /* this */
            aload 2 /* name */
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.objectName:Ljavax/management/ObjectName;
         1: .line 1320
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 1321
            aload 0 /* this */
            getfield com.sun.jmx.snmp.daemon.CommunicatorServer.bottomMBS:Ljavax/management/MBeanServer;
            ifnull 4
         3: .line 1322
            new java.lang.IllegalArgumentException
            dup
            ldc "connector already registered in an MBean server"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1326
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* server */
            dup_x1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.bottomMBS:Ljavax/management/MBeanServer;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.topMBS:Ljavax/management/MBeanServer;
         5: .line 1320
            aload 3
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 1328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.makeDebugTag:()Ljava/lang/String;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.dbgTag:Ljava/lang/String;
        10: .line 1329
            aload 2 /* name */
            areturn
        end local 2 // javax.management.ObjectName name
        end local 1 // javax.management.MBeanServer server
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0   11     1  server  Ljavax/management/MBeanServer;
            0   11     2    name  Ljavax/management/ObjectName;
      Exception table:
        from    to  target  type
           2     6       7  any
           7     8       7  any
    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=4, locals=3, args_size=2
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
        start local 1 // java.lang.Boolean registrationDone
         0: .line 1340
            aload 1 /* registrationDone */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 7
         1: .line 1341
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1342
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.bottomMBS:Ljavax/management/MBeanServer;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.topMBS:Ljavax/management/MBeanServer;
         3: .line 1341
            aload 2
            monitorexit
         4: goto 7
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer java.lang.Boolean com.sun.jmx.snmp.daemon.CommunicatorServer
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 1345
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Boolean registrationDone
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            0    8     1  registrationDone  Ljava/lang/Boolean;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    MethodParameters:
                  Name  Flags
      registrationDone  

  public void preDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1356
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 1357
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.bottomMBS:Ljavax/management/MBeanServer;
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.topMBS:Ljavax/management/MBeanServer;
         2: .line 1356
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: com.sun.jmx.snmp.daemon.CommunicatorServer com.sun.jmx.snmp.daemon.CommunicatorServer
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 1359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.jmx.snmp.daemon.CommunicatorServer.objectName:Ljavax/management/ObjectName;
         7: .line 1360
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.getState:()I
            istore 1 /* cstate */
        start local 1 // int cstate
         8: .line 1361
            iload 1 /* cstate */
            ifeq 9
            iload 1 /* cstate */
            iconst_3
            if_icmpne 10
         9: .line 1362
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jmx.snmp.daemon.CommunicatorServer.stop:()V
        10: .line 1364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int cstate
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
            8   11     1  cstate  I
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    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 // com.sun.jmx.snmp.daemon.CommunicatorServer this
         0: .line 1371
            return
        end local 0 // com.sun.jmx.snmp.daemon.CommunicatorServer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jmx/snmp/daemon/CommunicatorServer;
}
SourceFile: "CommunicatorServer.java"