public class com.googlecode.lanterna.terminal.IOSafeTerminalAdapter implements com.googlecode.lanterna.terminal.IOSafeTerminal
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
  super_class: java.lang.Object
{
  private final com.googlecode.lanterna.terminal.Terminal backend;
    descriptor: Lcom/googlecode/lanterna/terminal/Terminal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler exceptionHandler;
    descriptor: Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
    flags: (0x0010) ACC_FINAL

  public static com.googlecode.lanterna.terminal.IOSafeTerminal createRuntimeExceptionConvertingAdapter(com.googlecode.lanterna.terminal.Terminal);
    descriptor: (Lcom/googlecode/lanterna/terminal/Terminal;)Lcom/googlecode/lanterna/terminal/IOSafeTerminal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.Terminal terminal
         0: .line 60
            aload 0 /* terminal */
            instanceof com.googlecode.lanterna.terminal.ExtendedTerminal
            ifeq 2
         1: .line 61
            aload 0 /* terminal */
            checkcast com.googlecode.lanterna.terminal.ExtendedTerminal
            invokestatic com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.createRuntimeExceptionConvertingAdapter:(Lcom/googlecode/lanterna/terminal/ExtendedTerminal;)Lcom/googlecode/lanterna/terminal/IOSafeExtendedTerminal;
            areturn
         2: .line 63
      StackMap locals:
      StackMap stack:
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
            dup
            aload 0 /* terminal */
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ConvertToRuntimeException
            dup
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ConvertToRuntimeException.<init>:()V
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.<init>:(Lcom/googlecode/lanterna/terminal/Terminal;Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;)V
            areturn
        end local 0 // com.googlecode.lanterna.terminal.Terminal terminal
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  terminal  Lcom/googlecode/lanterna/terminal/Terminal;
    MethodParameters:
          Name  Flags
      terminal  

  public static com.googlecode.lanterna.terminal.IOSafeExtendedTerminal createRuntimeExceptionConvertingAdapter(com.googlecode.lanterna.terminal.ExtendedTerminal);
    descriptor: (Lcom/googlecode/lanterna/terminal/ExtendedTerminal;)Lcom/googlecode/lanterna/terminal/IOSafeExtendedTerminal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.ExtendedTerminal terminal
         0: .line 74
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$Extended
            dup
            aload 0 /* terminal */
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ConvertToRuntimeException
            dup
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ConvertToRuntimeException.<init>:()V
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$Extended.<init>:(Lcom/googlecode/lanterna/terminal/ExtendedTerminal;Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;)V
            areturn
        end local 0 // com.googlecode.lanterna.terminal.ExtendedTerminal terminal
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  terminal  Lcom/googlecode/lanterna/terminal/ExtendedTerminal;
    MethodParameters:
          Name  Flags
      terminal  

  public static com.googlecode.lanterna.terminal.IOSafeTerminal createDoNothingOnExceptionAdapter(com.googlecode.lanterna.terminal.Terminal);
    descriptor: (Lcom/googlecode/lanterna/terminal/Terminal;)Lcom/googlecode/lanterna/terminal/IOSafeTerminal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.Terminal terminal
         0: .line 84
            aload 0 /* terminal */
            instanceof com.googlecode.lanterna.terminal.ExtendedTerminal
            ifeq 2
         1: .line 85
            aload 0 /* terminal */
            checkcast com.googlecode.lanterna.terminal.ExtendedTerminal
            invokestatic com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.createDoNothingOnExceptionAdapter:(Lcom/googlecode/lanterna/terminal/ExtendedTerminal;)Lcom/googlecode/lanterna/terminal/IOSafeExtendedTerminal;
            areturn
         2: .line 87
      StackMap locals:
      StackMap stack:
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
            dup
            aload 0 /* terminal */
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$DoNothingAndOrReturnNull
            dup
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$DoNothingAndOrReturnNull.<init>:()V
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.<init>:(Lcom/googlecode/lanterna/terminal/Terminal;Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;)V
            areturn
        end local 0 // com.googlecode.lanterna.terminal.Terminal terminal
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  terminal  Lcom/googlecode/lanterna/terminal/Terminal;
    MethodParameters:
          Name  Flags
      terminal  

  public static com.googlecode.lanterna.terminal.IOSafeExtendedTerminal createDoNothingOnExceptionAdapter(com.googlecode.lanterna.terminal.ExtendedTerminal);
    descriptor: (Lcom/googlecode/lanterna/terminal/ExtendedTerminal;)Lcom/googlecode/lanterna/terminal/IOSafeExtendedTerminal;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.ExtendedTerminal terminal
         0: .line 99
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$Extended
            dup
            aload 0 /* terminal */
            new com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$DoNothingAndOrReturnNull
            dup
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$DoNothingAndOrReturnNull.<init>:()V
            invokespecial com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$Extended.<init>:(Lcom/googlecode/lanterna/terminal/ExtendedTerminal;Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;)V
            areturn
        end local 0 // com.googlecode.lanterna.terminal.ExtendedTerminal terminal
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  terminal  Lcom/googlecode/lanterna/terminal/ExtendedTerminal;
    MethodParameters:
          Name  Flags
      terminal  

  public void <init>(com.googlecode.lanterna.terminal.Terminal, com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler);
    descriptor: (Lcom/googlecode/lanterna/terminal/Terminal;Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.terminal.Terminal backend
        start local 2 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler exceptionHandler
         0: .line 106
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 107
            aload 0 /* this */
            aload 1 /* backend */
            putfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
         2: .line 108
            aload 0 /* this */
            aload 2 /* exceptionHandler */
            putfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
         3: .line 109
            return
        end local 2 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler exceptionHandler
        end local 1 // com.googlecode.lanterna.terminal.Terminal backend
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    4     1           backend  Lcom/googlecode/lanterna/terminal/Terminal;
            0    4     2  exceptionHandler  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
    MethodParameters:
                  Name  Flags
      backend           
      exceptionHandler  

  public void enterPrivateMode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 114
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.enterPrivateMode:()V
         1: .line 115
            goto 4
         2: .line 116
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 117
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 119
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void exitPrivateMode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 124
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.exitPrivateMode:()V
         1: .line 125
            goto 4
         2: .line 126
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 127
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void clearScreen();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 134
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.clearScreen:()V
         1: .line 135
            goto 4
         2: .line 136
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 137
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 139
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void setCursorPosition(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // int x
        start local 2 // int y
         0: .line 144
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            iload 1 /* x */
            iload 2 /* y */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
         1: .line 145
            goto 4
         2: .line 146
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 147
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 3 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 3 // java.io.IOException e
         4: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int y
        end local 1 // int x
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1     x  I
            0    5     2     y  I
            3    4     3     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      x     
      y     

  public void setCursorPosition(com.googlecode.lanterna.TerminalPosition);
    descriptor: (Lcom/googlecode/lanterna/TerminalPosition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.TerminalPosition position
         0: .line 154
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* position */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(Lcom/googlecode/lanterna/TerminalPosition;)V
         1: .line 155
            goto 4
         2: .line 156
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 157
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 159
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.googlecode.lanterna.TerminalPosition position
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1  position  Lcom/googlecode/lanterna/TerminalPosition;
            3    4     2         e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
          Name  Flags
      position  

  public com.googlecode.lanterna.TerminalPosition getCursorPosition();
    descriptor: ()Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 164
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.getCursorPosition:()Lcom/googlecode/lanterna/TerminalPosition;
         1: areturn
         2: .line 166
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 167
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 169
            aconst_null
            areturn
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void setCursorVisible(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // boolean visible
         0: .line 175
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            iload 1 /* visible */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorVisible:(Z)V
         1: .line 176
            goto 4
         2: .line 177
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 178
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean visible
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1  visible  Z
            3    4     2        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
         Name  Flags
      visible  

  public void putCharacter(char);
    descriptor: (C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // char c
         0: .line 185
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            iload 1 /* c */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.putCharacter:(C)V
         1: .line 186
            goto 4
         2: .line 187
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 188
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 1 // char c
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1     c  C
            3    4     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      c     

  public void putString(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // java.lang.String string
         0: .line 195
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* string */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.putString:(Ljava/lang/String;)V
         1: .line 196
            goto 4
         2: .line 197
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 198
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String string
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1  string  Ljava/lang/String;
            3    4     2       e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
        Name  Flags
      string  

  public com.googlecode.lanterna.graphics.TextGraphics newTextGraphics();
    descriptor: ()Lcom/googlecode/lanterna/graphics/TextGraphics;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 205
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.newTextGraphics:()Lcom/googlecode/lanterna/graphics/TextGraphics;
         1: areturn
         2: .line 207
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 208
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 210
            aconst_null
            areturn
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void enableSGR(com.googlecode.lanterna.SGR);
    descriptor: (Lcom/googlecode/lanterna/SGR;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.SGR sgr
         0: .line 216
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* sgr */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.enableSGR:(Lcom/googlecode/lanterna/SGR;)V
         1: .line 217
            goto 4
         2: .line 218
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 219
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.googlecode.lanterna.SGR sgr
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1   sgr  Lcom/googlecode/lanterna/SGR;
            3    4     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      sgr   

  public void disableSGR(com.googlecode.lanterna.SGR);
    descriptor: (Lcom/googlecode/lanterna/SGR;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.SGR sgr
         0: .line 226
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* sgr */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.disableSGR:(Lcom/googlecode/lanterna/SGR;)V
         1: .line 227
            goto 4
         2: .line 228
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 229
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.googlecode.lanterna.SGR sgr
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1   sgr  Lcom/googlecode/lanterna/SGR;
            3    4     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      sgr   

  public void resetColorAndSGR();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 236
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.resetColorAndSGR:()V
         1: .line 237
            goto 4
         2: .line 238
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 239
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 241
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void setForegroundColor(com.googlecode.lanterna.TextColor);
    descriptor: (Lcom/googlecode/lanterna/TextColor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.TextColor color
         0: .line 246
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* color */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setForegroundColor:(Lcom/googlecode/lanterna/TextColor;)V
         1: .line 247
            goto 4
         2: .line 248
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 249
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.googlecode.lanterna.TextColor color
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1  color  Lcom/googlecode/lanterna/TextColor;
            3    4     2      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
       Name  Flags
      color  

  public void setBackgroundColor(com.googlecode.lanterna.TextColor);
    descriptor: (Lcom/googlecode/lanterna/TextColor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.TextColor color
         0: .line 256
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* color */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setBackgroundColor:(Lcom/googlecode/lanterna/TextColor;)V
         1: .line 257
            goto 4
         2: .line 258
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 259
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 2 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 2 // java.io.IOException e
         4: .line 261
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.googlecode.lanterna.TextColor color
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1  color  Lcom/googlecode/lanterna/TextColor;
            3    4     2      e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
       Name  Flags
      color  

  public void addResizeListener(com.googlecode.lanterna.terminal.TerminalResizeListener);
    descriptor: (Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.terminal.TerminalResizeListener listener
         0: .line 265
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* listener */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.addResizeListener:(Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
         1: .line 266
            return
        end local 1 // com.googlecode.lanterna.terminal.TerminalResizeListener listener
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    2     1  listener  Lcom/googlecode/lanterna/terminal/TerminalResizeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeResizeListener(com.googlecode.lanterna.terminal.TerminalResizeListener);
    descriptor: (Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // com.googlecode.lanterna.terminal.TerminalResizeListener listener
         0: .line 270
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* listener */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.removeResizeListener:(Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
         1: .line 271
            return
        end local 1 // com.googlecode.lanterna.terminal.TerminalResizeListener listener
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    2     1  listener  Lcom/googlecode/lanterna/terminal/TerminalResizeListener;
    MethodParameters:
          Name  Flags
      listener  

  public com.googlecode.lanterna.TerminalSize getTerminalSize();
    descriptor: ()Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 276
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
         1: areturn
         2: .line 278
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 279
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 281
            aconst_null
            areturn
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public byte[] enquireTerminal(int, java.util.concurrent.TimeUnit);
    descriptor: (ILjava/util/concurrent/TimeUnit;)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
        start local 1 // int timeout
        start local 2 // java.util.concurrent.TimeUnit timeoutUnit
         0: .line 287
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            iload 1 /* timeout */
            aload 2 /* timeoutUnit */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.enquireTerminal:(ILjava/util/concurrent/TimeUnit;)[B
         1: areturn
         2: .line 289
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 290
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 3 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 3 // java.io.IOException e
         4: .line 292
            aconst_null
            areturn
        end local 2 // java.util.concurrent.TimeUnit timeoutUnit
        end local 1 // int timeout
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            0    5     1      timeout  I
            0    5     2  timeoutUnit  Ljava/util/concurrent/TimeUnit;
            3    4     3            e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
             Name  Flags
      timeout      
      timeoutUnit  

  public void bell();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 298
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.bell:()V
         1: .line 299
            goto 4
         2: .line 300
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 301
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 303
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 308
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.flush:()V
         1: .line 309
            goto 4
         2: .line 310
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 311
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 313
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 318
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.close:()V
         1: .line 319
            goto 4
         2: .line 320
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 321
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public com.googlecode.lanterna.input.KeyStroke pollInput();
    descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 328
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.pollInput:()Lcom/googlecode/lanterna/input/KeyStroke;
         1: areturn
         2: .line 330
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 331
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 333
            aconst_null
            areturn
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public com.googlecode.lanterna.input.KeyStroke readInput();
    descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
         0: .line 339
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.backend:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.readInput:()Lcom/googlecode/lanterna/input/KeyStroke;
         1: areturn
         2: .line 341
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 342
            aload 0 /* this */
            getfield com.googlecode.lanterna.terminal.IOSafeTerminalAdapter.exceptionHandler:Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter$ExceptionHandler;
            aload 1 /* e */
            invokeinterface com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler.onException:(Ljava/io/IOException;)V
        end local 1 // java.io.IOException e
         4: .line 344
            aconst_null
            areturn
        end local 0 // com.googlecode.lanterna.terminal.IOSafeTerminalAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/terminal/IOSafeTerminalAdapter;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
}
SourceFile: "IOSafeTerminalAdapter.java"
NestMembers:
  com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ConvertToRuntimeException  com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$DoNothingAndOrReturnNull  com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler  com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$Extended
InnerClasses:
  private ConvertToRuntimeException = com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ConvertToRuntimeException of com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
  private DoNothingAndOrReturnNull = com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$DoNothingAndOrReturnNull of com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
  private abstract ExceptionHandler = com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$ExceptionHandler of com.googlecode.lanterna.terminal.IOSafeTerminalAdapter
  public Extended = com.googlecode.lanterna.terminal.IOSafeTerminalAdapter$Extended of com.googlecode.lanterna.terminal.IOSafeTerminalAdapter