final class org.apache.commons.net.telnet.TelnetInputStream extends java.io.BufferedInputStream implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.net.telnet.TelnetInputStream
  super_class: java.io.BufferedInputStream
{
  private static final int EOF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int WOULD_BLOCK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

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

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

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

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

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

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

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

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

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

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

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

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

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

  private int __receiveState;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int __queueHead;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int __queueTail;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int __bytesAvailable;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private final int[] __queue;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.commons.net.telnet.TelnetClient __client;
    descriptor: Lorg/apache/commons/net/telnet/TelnetClient;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Thread __thread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.io.IOException __ioException;
    descriptor: Ljava/io/IOException;
    flags: (0x0002) ACC_PRIVATE

  private final int[] __suboption;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int __suboption_count;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  void <init>(java.io.InputStream, org.apache.commons.net.telnet.TelnetClient, boolean);
    descriptor: (Ljava/io/InputStream;Lorg/apache/commons/net/telnet/TelnetClient;Z)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
        start local 1 // java.io.InputStream input
        start local 2 // org.apache.commons.net.telnet.TelnetClient client
        start local 3 // boolean readerThread
         0: .line 57
            aload 0 /* this */
            aload 1 /* input */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
         1: .line 48
            aload 0 /* this */
            sipush 512
            newarray 10
            putfield org.apache.commons.net.telnet.TelnetInputStream.__suboption:[I
         2: .line 49
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
         3: .line 58
            aload 0 /* this */
            aload 2 /* client */
            putfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
         4: .line 59
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
         5: .line 60
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
         6: .line 61
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__hasReachedEOF:Z
         7: .line 64
            aload 0 /* this */
            sipush 2049
            newarray 10
            putfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
         8: .line 65
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__queueHead:I
         9: .line 66
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__queueTail:I
        10: .line 67
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
        11: .line 68
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.telnet.TelnetInputStream.__ioException:Ljava/io/IOException;
        12: .line 69
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__readIsWaiting:Z
        13: .line 70
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
        14: .line 71
            iload 3 /* readerThread */
            ifeq 17
        15: .line 72
            aload 0 /* this */
            new java.lang.Thread
            dup
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            putfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
        16: .line 73
            goto 18
        17: .line 74
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream java.io.InputStream org.apache.commons.net.telnet.TelnetClient int
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
        18: .line 76
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean readerThread
        end local 2 // org.apache.commons.net.telnet.TelnetClient client
        end local 1 // java.io.InputStream input
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            0   19     1         input  Ljava/io/InputStream;
            0   19     2        client  Lorg/apache/commons/net/telnet/TelnetClient;
            0   19     3  readerThread  Z
    MethodParameters:
              Name  Flags
      input         
      client        
      readerThread  

  void <init>(java.io.InputStream, org.apache.commons.net.telnet.TelnetClient);
    descriptor: (Ljava/io/InputStream;Lorg/apache/commons/net/telnet/TelnetClient;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
        start local 1 // java.io.InputStream input
        start local 2 // org.apache.commons.net.telnet.TelnetClient client
         0: .line 79
            aload 0 /* this */
            aload 1 /* input */
            aload 2 /* client */
            iconst_1
            invokespecial org.apache.commons.net.telnet.TelnetInputStream.<init>:(Ljava/io/InputStream;Lorg/apache/commons/net/telnet/TelnetClient;Z)V
         1: .line 80
            return
        end local 2 // org.apache.commons.net.telnet.TelnetClient client
        end local 1 // java.io.InputStream input
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            0    2     1   input  Ljava/io/InputStream;
            0    2     2  client  Lorg/apache/commons/net/telnet/TelnetClient;
    MethodParameters:
        Name  Flags
      input   
      client  

  void _start();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
         0: .line 84
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
            ifnonnull 2
         1: .line 85
            return
         2: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
         3: .line 94
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getPriority:()I
            iconst_1
            iadd
            istore 1 /* priority */
        start local 1 // int priority
         4: .line 95
            iload 1 /* priority */
            bipush 10
            if_icmple 6
         5: .line 96
            bipush 10
            istore 1 /* priority */
         6: .line 98
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
            iload 1 /* priority */
            invokevirtual java.lang.Thread.setPriority:(I)V
         7: .line 99
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
            iconst_1
            invokevirtual java.lang.Thread.setDaemon:(Z)V
         8: .line 100
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
         9: .line 101
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
        10: .line 102
            return
        end local 1 // int priority
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            4   11     1  priority  I

  private int __read(boolean);
    descriptor: (Z)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
        start local 1 // boolean mayBlock
         0: .line 127
      StackMap locals:
      StackMap stack:
            iload 1 /* mayBlock */
            ifne 2
            aload 0 /* this */
            invokespecial java.io.BufferedInputStream.available:()I
            ifne 2
         1: .line 128
            bipush -2
            ireturn
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.io.BufferedInputStream.read:()I
            dup
            istore 2 /* ch */
        start local 2 // int ch
         3: ifge 5
         4: .line 133
            iconst_m1
            ireturn
         5: .line 136
      StackMap locals: int
      StackMap stack:
            iload 2 /* ch */
            sipush 255
            iand
            istore 2 /* ch */
         6: .line 139
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            dup
            astore 3
            monitorenter
         7: .line 141
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient._processAYTResponse:()V
         8: .line 139
            aload 3
            monitorexit
         9: goto 12
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int org.apache.commons.net.telnet.TelnetClient
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        12: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            iload 2 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetClient._spyRead:(I)V
        13: .line 149
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
            tableswitch { // 0 - 9
                    0: 16
                    1: 31
                    2: 50
                    3: 59
                    4: 68
                    5: 77
                    6: 86
                    7: 108
                    8: 14
                    9: 93
              default: 108
          }
        14: .line 153
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            ifne 16
        15: .line 156
            goto 0
        16: .line 165
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            sipush 255
            if_icmpne 19
        17: .line 167
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        18: .line 168
            goto 0
        19: .line 172
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            bipush 13
            if_icmpne 29
        20: .line 174
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            dup
            astore 3
            monitorenter
        21: .line 176
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            iconst_0
            invokevirtual org.apache.commons.net.telnet.TelnetClient._requestedDont:(I)Z
            ifeq 24
        22: .line 177
            aload 0 /* this */
            bipush 8
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        23: .line 178
            goto 25
        24: .line 179
      StackMap locals: org.apache.commons.net.telnet.TelnetClient
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        25: .line 174
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        26: goto 108
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: aload 3
            monitorexit
        28: athrow
        29: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        30: .line 185
            goto 108
        31: .line 188
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            tableswitch { // 240 - 255
                  240: 45
                  241: 47
                  242: 47
                  243: 47
                  244: 47
                  245: 47
                  246: 47
                  247: 47
                  248: 47
                  249: 47
                  250: 40
                  251: 32
                  252: 34
                  253: 36
                  254: 38
                  255: 43
              default: 47
          }
        32: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        33: .line 192
            goto 0
        34: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        35: .line 195
            goto 0
        36: .line 197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        37: .line 198
            goto 0
        38: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_5
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        39: .line 201
            goto 0
        40: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
        41: .line 205
            aload 0 /* this */
            bipush 6
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        42: .line 206
            goto 0
        43: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        44: .line 210
            goto 108
        45: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        46: .line 213
            goto 0
        47: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        48: .line 216
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            iload 2 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetClient._processCommand:(I)V
        49: .line 217
            goto 0
        50: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            dup
            astore 3
            monitorenter
        51: .line 223
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            iload 2 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetClient._processWill:(I)V
        52: .line 224
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient._flushOutputStream:()V
        53: .line 221
            aload 3
            monitorexit
        54: goto 57
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int org.apache.commons.net.telnet.TelnetClient
      StackMap stack: java.lang.Throwable
        55: aload 3
            monitorexit
        56: athrow
        57: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        58: .line 227
            goto 0
        59: .line 229
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            dup
            astore 3
            monitorenter
        60: .line 231
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            iload 2 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetClient._processWont:(I)V
        61: .line 232
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient._flushOutputStream:()V
        62: .line 229
            aload 3
            monitorexit
        63: goto 66
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int org.apache.commons.net.telnet.TelnetClient
      StackMap stack: java.lang.Throwable
        64: aload 3
            monitorexit
        65: athrow
        66: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        67: .line 235
            goto 0
        68: .line 237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            dup
            astore 3
            monitorenter
        69: .line 239
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            iload 2 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetClient._processDo:(I)V
        70: .line 240
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient._flushOutputStream:()V
        71: .line 237
            aload 3
            monitorexit
        72: goto 75
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int org.apache.commons.net.telnet.TelnetClient
      StackMap stack: java.lang.Throwable
        73: aload 3
            monitorexit
        74: athrow
        75: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        76: .line 243
            goto 0
        77: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            dup
            astore 3
            monitorenter
        78: .line 247
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            iload 2 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetClient._processDont:(I)V
        79: .line 248
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient._flushOutputStream:()V
        80: .line 245
            aload 3
            monitorexit
        81: goto 84
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int org.apache.commons.net.telnet.TelnetClient
      StackMap stack: java.lang.Throwable
        82: aload 3
            monitorexit
        83: athrow
        84: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        85: .line 251
            goto 0
        86: .line 254
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            tableswitch { // 255 - 255
                  255: 87
              default: 89
          }
        87: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 9
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        88: .line 258
            goto 0
        89: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption:[I
            arraylength
            if_icmpge 91
        90: .line 262
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption:[I
            aload 0 /* this */
            dup
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
            iload 2 /* ch */
            iastore
        91: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
        92: .line 267
            goto 0
        93: .line 269
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            lookupswitch { // 2
                  240: 94
                  255: 103
              default: 106
          }
        94: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            dup
            astore 3
            monitorenter
        95: .line 274
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption:[I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
            invokevirtual org.apache.commons.net.telnet.TelnetClient._processSuboption:([II)V
        96: .line 275
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient._flushOutputStream:()V
        97: .line 272
            aload 3
            monitorexit
        98: goto 101
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int org.apache.commons.net.telnet.TelnetClient
      StackMap stack: java.lang.Throwable
        99: aload 3
            monitorexit
       100: athrow
       101: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
       102: .line 278
            goto 0
       103: .line 280
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption:[I
            arraylength
            if_icmpge 106
       104: .line 281
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption:[I
            aload 0 /* this */
            dup
            getfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.commons.net.telnet.TelnetInputStream.__suboption_count:I
            iload 2 /* ch */
            iastore
       105: .line 283
            goto 106
       106: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            putfield org.apache.commons.net.telnet.TelnetInputStream.__receiveState:I
       107: .line 288
            goto 0
       108: .line 295
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            ireturn
        end local 2 // int ch
        end local 1 // boolean mayBlock
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0  109     0      this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            0  109     1  mayBlock  Z
            3  109     2        ch  I
      Exception table:
        from    to  target  type
           7     9      10  any
          10    11      10  any
          21    26      27  any
          27    28      27  any
          51    54      55  any
          55    56      55  any
          60    63      64  any
          64    65      64  any
          69    72      73  any
          73    74      73  any
          78    81      82  any
          82    83      82  any
          95    98      99  any
          99   100      99  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      mayBlock  

  private boolean __processChar(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
        start local 1 // int ch
         0: .line 307
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 3
            monitorenter
         1: .line 309
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            ifne 2
            iconst_1
            goto 3
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int top int[]
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 2 /* bufferWasEmpty */
        start local 2 // boolean bufferWasEmpty
         4: .line 310
            goto 12
         5: .line 314
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int int[]
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
            ifeq 11
         6: .line 316
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notify:()V
         7: .line 319
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.wait:()V
         8: .line 320
            goto 12
         9: .line 321
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            astore 4 /* e */
        start local 4 // java.lang.InterruptedException e
        10: .line 323
            aload 4 /* e */
            athrow
        end local 4 // java.lang.InterruptedException e
        11: .line 330
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Queue is full! Cannot process another character."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            arraylength
            iconst_1
            isub
            if_icmpge 5
        13: .line 335
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__readIsWaiting:Z
            ifeq 15
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
            ifeq 15
        14: .line 337
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notify:()V
        15: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queueTail:I
            iload 1 /* ch */
            iastore
        16: .line 341
            aload 0 /* this */
            dup
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            iconst_1
            iadd
            putfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
        17: .line 343
            aload 0 /* this */
            dup
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queueTail:I
            iconst_1
            iadd
            dup_x1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__queueTail:I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            arraylength
            if_icmplt 19
        18: .line 344
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__queueTail:I
        19: .line 307
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        20: goto 23
        end local 2 // boolean bufferWasEmpty
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int top int[]
      StackMap stack: java.lang.Throwable
        21: aload 3
            monitorexit
        22: athrow
        start local 2 // boolean bufferWasEmpty
        23: .line 347
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int
      StackMap stack:
            iload 2 /* bufferWasEmpty */
            ireturn
        end local 2 // boolean bufferWasEmpty
        end local 1 // int ch
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            0   24     1              ch  I
            4   21     2  bufferWasEmpty  Z
           23   24     2  bufferWasEmpty  Z
           10   11     4               e  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.InterruptedException
           1    20      21  any
          21    22      21  any
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
      Name  Flags
      ch    

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
         0: .line 356
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 1
            monitorenter
         1: .line 361
      StackMap locals: int[]
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__ioException:Ljava/io/IOException;
            ifnull 5
         2: .line 364
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__ioException:Ljava/io/IOException;
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 365
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.net.telnet.TelnetInputStream.__ioException:Ljava/io/IOException;
         4: .line 366
            aload 2 /* e */
            athrow
        end local 2 // java.io.IOException e
         5: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            ifne 50
         6: .line 372
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__hasReachedEOF:Z
            ifeq 9
         7: .line 373
            aload 1
            monitorexit
         8: iconst_m1
            ireturn
         9: .line 377
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
            ifeq 17
        10: .line 379
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notify:()V
        11: .line 382
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__readIsWaiting:Z
        12: .line 383
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.wait:()V
        13: .line 384
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__readIsWaiting:Z
        14: .line 385
            goto 1
        15: .line 386
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
        16: .line 388
            new java.io.InterruptedIOException
            dup
            ldc "Fatal thread interruption during read."
            invokespecial java.io.InterruptedIOException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 394
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__readIsWaiting:Z
        18: .line 396
            iconst_1
            istore 3 /* mayBlock */
        start local 3 // boolean mayBlock
        19: .line 402
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int[] top int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* mayBlock */
            invokevirtual org.apache.commons.net.telnet.TelnetInputStream.__read:(Z)I
            dup
            istore 2 /* ch */
        start local 2 // int ch
        20: ifge 38
        21: .line 403
            iload 2 /* ch */
            bipush -2
            if_icmpeq 38
        22: .line 404
            iload 2 /* ch */
        23: aload 1
            monitorexit
        24: ireturn
        end local 2 // int ch
        25: .line 408
      StackMap locals:
      StackMap stack: java.io.InterruptedIOException
            astore 4 /* e */
        start local 4 // java.io.InterruptedIOException e
        26: .line 410
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 5
            monitorenter
        27: .line 412
            aload 0 /* this */
            aload 4 /* e */
            putfield org.apache.commons.net.telnet.TelnetInputStream.__ioException:Ljava/io/IOException;
        28: .line 413
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notifyAll:()V
        29: .line 416
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            ldc 100
            invokevirtual java.lang.Object.wait:(J)V
        30: .line 417
            goto 32
        31: .line 418
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int[] top int java.io.InterruptedIOException int[]
      StackMap stack: java.lang.InterruptedException
            pop
        32: .line 410
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        33: goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: aload 5
            monitorexit
        35: athrow
        36: .line 423
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        37: iconst_m1
            ireturn
        end local 4 // java.io.InterruptedIOException e
        start local 2 // int ch
        38: .line 429
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int[] int int
      StackMap stack:
            iload 2 /* ch */
            bipush -2
            if_icmpeq 45
        39: .line 431
            aload 0 /* this */
            iload 2 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetInputStream.__processChar:(I)Z
            pop
        40: .line 433
            goto 45
        41: .line 434
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
        42: .line 436
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
            ifeq 45
        43: .line 437
            aload 1
            monitorexit
        44: iconst_m1
            ireturn
        45: .line 443
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* mayBlock */
        46: .line 447
            aload 0 /* this */
            invokespecial java.io.BufferedInputStream.available:()I
            ifle 48
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            arraylength
            iconst_1
            isub
        47: .line 398
            if_icmplt 19
        48: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__readIsWaiting:Z
        end local 3 // boolean mayBlock
        end local 2 // int ch
        49: .line 451
            goto 1
        50: .line 457
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queueHead:I
            iaload
            istore 2 /* ch */
        start local 2 // int ch
        51: .line 459
            aload 0 /* this */
            dup
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queueHead:I
            iconst_1
            iadd
            dup_x1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__queueHead:I
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            arraylength
            if_icmplt 53
        52: .line 460
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__queueHead:I
        53: .line 463
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            iconst_1
            isub
            putfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
        54: .line 466
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            ifne 56
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
            ifeq 56
        55: .line 467
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notify:()V
        56: .line 470
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            aload 1
            monitorexit
        57: ireturn
        end local 2 // int ch
        58: .line 356
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int[]
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        59: athrow
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   60     0      this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            3    5     2         e  Ljava/io/IOException;
           20   25     2        ch  I
           38   49     2        ch  I
           19   49     3  mayBlock  Z
           26   38     4         e  Ljava/io/InterruptedIOException;
           51   58     2        ch  I
      Exception table:
        from    to  target  type
          11    14      15  Class java.lang.InterruptedException
          19    23      25  Class java.io.InterruptedIOException
          29    30      31  Class java.lang.InterruptedException
          27    33      34  any
          34    35      34  any
          38    40      41  Class java.lang.InterruptedException
           1     8      58  any
           9    24      58  any
          25    37      58  any
          38    44      58  any
          45    57      58  any
          58    59      58  any
    Exceptions:
      throws java.io.IOException

  public int read(byte[]);
    descriptor: ([B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
        start local 1 // byte[] buffer
         0: .line 491
            aload 0 /* this */
            aload 1 /* buffer */
            iconst_0
            aload 1 /* buffer */
            arraylength
            invokevirtual org.apache.commons.net.telnet.TelnetInputStream.read:([BII)I
            ireturn
        end local 1 // byte[] buffer
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            0    1     1  buffer  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
        start local 1 // byte[] buffer
        start local 2 // int offset
        start local 3 // int length
         0: .line 514
            iload 3 /* length */
            iconst_1
            if_icmpge 2
         1: .line 515
            iconst_0
            ireturn
         2: .line 519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 6
            monitorenter
         3: .line 521
            iload 3 /* length */
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            if_icmple 5
         4: .line 522
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            istore 3 /* length */
         5: .line 519
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream byte[] int int top top int[]
      StackMap stack:
            aload 6
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 6
            monitorexit
         8: athrow
         9: .line 526
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream byte[] int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.net.telnet.TelnetInputStream.read:()I
            dup
            istore 4 /* ch */
        start local 4 // int ch
        10: iconst_m1
            if_icmpne 12
        11: .line 527
            iconst_m1
            ireturn
        12: .line 530
      StackMap locals: int
      StackMap stack:
            iload 2 /* offset */
            istore 5 /* off */
        start local 5 // int off
        13: .line 534
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            iload 4 /* ch */
            i2b
            bastore
        14: .line 536
            iinc 3 /* length */ -1
            iload 3 /* length */
            ifle 15
            aload 0 /* this */
            invokevirtual org.apache.commons.net.telnet.TelnetInputStream.read:()I
            dup
            istore 4 /* ch */
            iconst_m1
            if_icmpne 13
        15: .line 539
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iload 5 /* off */
            isub
            ireturn
        end local 5 // int off
        end local 4 // int ch
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] buffer
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            0   16     1  buffer  [B
            0   16     2  offset  I
            0   16     3  length  I
           10   16     4      ch  I
           13   16     5     off  I
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      buffer  
      offset  
      length  

  public boolean markSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
         0: .line 547
            iconst_0
            ireturn
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/net/telnet/TelnetInputStream;

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
         0: .line 554
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 1
            monitorenter
         1: .line 556
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
            ifeq 4
         2: .line 557
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            aload 1
            monitorexit
         3: ireturn
         4: .line 559
      StackMap locals: int[]
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__bytesAvailable:I
            aload 0 /* this */
            invokespecial java.io.BufferedInputStream.available:()I
            iadd
            aload 1
            monitorexit
         5: ireturn
         6: .line 554
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         7: athrow
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/commons/net/telnet/TelnetInputStream;
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any
    Exceptions:
      throws java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
         0: .line 574
            aload 0 /* this */
            invokespecial java.io.BufferedInputStream.close:()V
         1: .line 576
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 1
            monitorenter
         2: .line 578
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__hasReachedEOF:Z
         3: .line 579
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
         4: .line 581
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
            ifnull 6
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isAlive:()Z
            ifeq 6
         5: .line 583
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__thread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         6: .line 586
      StackMap locals: int[]
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notifyAll:()V
         7: .line 576
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 589
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/commons/net/telnet/TelnetInputStream;
      Exception table:
        from    to  target  type
           2     8       9  any
           9    10       9  any
    Exceptions:
      throws java.io.IOException

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.commons.net.telnet.TelnetInputStream this
         0: .line 599
            goto 29
         1: .line 603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.net.telnet.TelnetInputStream.__read:(Z)I
            dup
            istore 1 /* ch */
        start local 1 // int ch
         2: ifge 21
         3: .line 604
            goto 39
        end local 1 // int ch
         4: .line 607
      StackMap locals:
      StackMap stack: java.io.InterruptedIOException
            astore 2 /* e */
        start local 2 // java.io.InterruptedIOException e
         5: .line 609
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 3
            monitorenter
         6: .line 611
            aload 0 /* this */
            aload 2 /* e */
            putfield org.apache.commons.net.telnet.TelnetInputStream.__ioException:Ljava/io/IOException;
         7: .line 612
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notifyAll:()V
         8: .line 615
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            ldc 100
            invokevirtual java.lang.Object.wait:(J)V
         9: .line 616
            goto 14
        10: .line 617
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream top java.io.InterruptedIOException int[]
      StackMap stack: java.lang.InterruptedException
            pop
        11: .line 619
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
            ifeq 14
        12: .line 620
            aload 3
            monitorexit
        13: goto 39
        14: .line 623
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        15: goto 29
        16: .line 609
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        17: athrow
        end local 2 // java.io.InterruptedIOException e
        18: .line 625
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream
      StackMap stack: java.lang.RuntimeException
            pop
        19: .line 629
            aload 0 /* this */
            invokespecial java.io.BufferedInputStream.close:()V
        20: .line 632
            goto 39
        start local 1 // int ch
        21: .line 636
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* notify */
        start local 2 // boolean notify
        22: .line 639
            aload 0 /* this */
            iload 1 /* ch */
            invokevirtual org.apache.commons.net.telnet.TelnetInputStream.__processChar:(I)Z
            istore 2 /* notify */
        23: .line 640
            goto 27
        24: .line 641
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream int int
      StackMap stack: java.lang.InterruptedException
            pop
        25: .line 643
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
            ifeq 27
        26: .line 644
            goto 39
        27: .line 649
      StackMap locals:
      StackMap stack:
            iload 2 /* notify */
            ifeq 29
        28: .line 650
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient.notifyInputListener:()V
        end local 2 // boolean notify
        end local 1 // int ch
        29: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
            ifeq 1
        30: .line 653
            goto 39
        31: .line 654
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
        32: .line 656
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 3
            monitorenter
        33: .line 658
            aload 0 /* this */
            aload 2 /* ioe */
            putfield org.apache.commons.net.telnet.TelnetInputStream.__ioException:Ljava/io/IOException;
        34: .line 656
            aload 3
            monitorexit
        35: goto 38
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream top java.io.IOException int[]
      StackMap stack: java.lang.Throwable
        36: aload 3
            monitorexit
        37: athrow
        38: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__client:Lorg/apache/commons/net/telnet/TelnetClient;
            invokevirtual org.apache.commons.net.telnet.TelnetClient.notifyInputListener:()V
        end local 2 // java.io.IOException ioe
        39: .line 663
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            dup
            astore 2
            monitorenter
        40: .line 665
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__isClosed:Z
        41: .line 666
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.net.telnet.TelnetInputStream.__hasReachedEOF:Z
        42: .line 667
            aload 0 /* this */
            getfield org.apache.commons.net.telnet.TelnetInputStream.__queue:[I
            invokevirtual java.lang.Object.notify:()V
        43: .line 663
            aload 2
            monitorexit
        44: goto 47
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream top int[]
      StackMap stack: java.lang.Throwable
        45: aload 2
            monitorexit
        46: athrow
        47: .line 670
      StackMap locals: org.apache.commons.net.telnet.TelnetInputStream
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.net.telnet.TelnetInputStream.__threaded:Z
        48: .line 671
            return
        end local 0 // org.apache.commons.net.telnet.TelnetInputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   49     0    this  Lorg/apache/commons/net/telnet/TelnetInputStream;
            2    4     1      ch  I
           21   29     1      ch  I
            5   18     2       e  Ljava/io/InterruptedIOException;
           22   29     2  notify  Z
           32   39     2     ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.InterruptedIOException
           8     9      10  Class java.lang.InterruptedException
           6    13      16  any
          14    15      16  any
          16    17      16  any
           1     3      18  Class java.lang.RuntimeException
          22    23      24  Class java.lang.InterruptedException
           0    30      31  Class java.io.IOException
          33    35      36  any
          36    37      36  any
          40    44      45  any
          45    46      45  any
}
SourceFile: "TelnetInputStream.java"