public class com.googlecode.lanterna.screen.TerminalScreen extends com.googlecode.lanterna.screen.AbstractScreen
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.screen.TerminalScreen
  super_class: com.googlecode.lanterna.screen.AbstractScreen
{
  private final com.googlecode.lanterna.terminal.Terminal terminal;
    descriptor: Lcom/googlecode/lanterna/terminal/Terminal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private com.googlecode.lanterna.screen.TerminalScreen$ScrollHint scrollHint;
    descriptor: Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.googlecode.lanterna.terminal.Terminal);
    descriptor: (Lcom/googlecode/lanterna/terminal/Terminal;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
        start local 1 // com.googlecode.lanterna.terminal.Terminal terminal
         0: .line 60
            aload 0 /* this */
            aload 1 /* terminal */
            getstatic com.googlecode.lanterna.screen.TerminalScreen.DEFAULT_CHARACTER:Lcom/googlecode/lanterna/TextCharacter;
            invokespecial com.googlecode.lanterna.screen.TerminalScreen.<init>:(Lcom/googlecode/lanterna/terminal/Terminal;Lcom/googlecode/lanterna/TextCharacter;)V
         1: .line 61
            return
        end local 1 // com.googlecode.lanterna.terminal.Terminal terminal
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            0    2     1  terminal  Lcom/googlecode/lanterna/terminal/Terminal;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      terminal  

  public void <init>(com.googlecode.lanterna.terminal.Terminal, com.googlecode.lanterna.TextCharacter);
    descriptor: (Lcom/googlecode/lanterna/terminal/Terminal;Lcom/googlecode/lanterna/TextCharacter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
        start local 1 // com.googlecode.lanterna.terminal.Terminal terminal
        start local 2 // com.googlecode.lanterna.TextCharacter defaultCharacter
         0: .line 77
            aload 0 /* this */
            aload 1 /* terminal */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
            aload 2 /* defaultCharacter */
            invokespecial com.googlecode.lanterna.screen.AbstractScreen.<init>:(Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/TextCharacter;)V
         1: .line 78
            aload 0 /* this */
            aload 1 /* terminal */
            putfield com.googlecode.lanterna.screen.TerminalScreen.terminal:Lcom/googlecode/lanterna/terminal/Terminal;
         2: .line 79
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.terminal:Lcom/googlecode/lanterna/terminal/Terminal;
            new com.googlecode.lanterna.screen.TerminalScreen$TerminalScreenResizeListener
            dup
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.screen.TerminalScreen$TerminalScreenResizeListener.<init>:(Lcom/googlecode/lanterna/screen/TerminalScreen;)V
            invokeinterface com.googlecode.lanterna.terminal.Terminal.addResizeListener:(Lcom/googlecode/lanterna/terminal/TerminalResizeListener;)V
         3: .line 80
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.screen.TerminalScreen.isStarted:Z
         4: .line 81
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.screen.TerminalScreen.fullRedrawHint:Z
         5: .line 82
            return
        end local 2 // com.googlecode.lanterna.TextCharacter defaultCharacter
        end local 1 // com.googlecode.lanterna.terminal.Terminal terminal
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            0    6     1          terminal  Lcom/googlecode/lanterna/terminal/Terminal;
            0    6     2  defaultCharacter  Lcom/googlecode/lanterna/TextCharacter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                  Name  Flags
      terminal          
      defaultCharacter  

  public synchronized void startScreen();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 86
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.isStarted:Z
            ifeq 2
         1: .line 87
            return
         2: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.screen.TerminalScreen.isStarted:Z
         3: .line 91
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.enterPrivateMode:()V
         4: .line 92
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
            pop
         5: .line 93
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.clearScreen:()V
         6: .line 94
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.screen.TerminalScreen.fullRedrawHint:Z
         7: .line 95
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getCursorPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            astore 1 /* cursorPosition */
        start local 1 // com.googlecode.lanterna.TerminalPosition cursorPosition
         8: .line 96
            aload 1 /* cursorPosition */
            ifnull 12
         9: .line 97
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            iconst_1
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorVisible:(Z)V
        10: .line 98
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 1 /* cursorPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 1 /* cursorPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
        11: .line 99
            goto 13
        12: .line 100
      StackMap locals: com.googlecode.lanterna.TerminalPosition
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            iconst_0
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorVisible:(Z)V
        13: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.googlecode.lanterna.TerminalPosition cursorPosition
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            8   14     1  cursorPosition  Lcom/googlecode/lanterna/TerminalPosition;
    Exceptions:
      throws java.io.IOException

  public void stopScreen();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 106
            aload 0 /* this */
            iconst_1
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.stopScreen:(Z)V
         1: .line 107
            return
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/googlecode/lanterna/screen/TerminalScreen;
    Exceptions:
      throws java.io.IOException

  public synchronized void stopScreen(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
        start local 1 // boolean flushInput
         0: .line 110
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.isStarted:Z
            ifne 2
         1: .line 111
            return
         2: .line 114
      StackMap locals:
      StackMap stack:
            iload 1 /* flushInput */
            ifeq 5
         3: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.pollInput:()Lcom/googlecode/lanterna/input/KeyStroke;
            astore 2 /* keyStroke */
        start local 2 // com.googlecode.lanterna.input.KeyStroke keyStroke
         4: .line 120
            aload 2 /* keyStroke */
            ifnull 5
            aload 2 /* keyStroke */
            invokevirtual com.googlecode.lanterna.input.KeyStroke.getKeyType:()Lcom/googlecode/lanterna/input/KeyType;
            getstatic com.googlecode.lanterna.input.KeyType.EOF:Lcom/googlecode/lanterna/input/KeyType;
            if_acmpne 3
        end local 2 // com.googlecode.lanterna.input.KeyStroke keyStroke
         5: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.exitPrivateMode:()V
         6: .line 124
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.screen.TerminalScreen.isStarted:Z
         7: .line 125
            return
        end local 1 // boolean flushInput
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            0    8     1  flushInput  Z
            4    5     2   keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      flushInput  

  public synchronized void refresh(com.googlecode.lanterna.screen.Screen$RefreshType);
    descriptor: (Lcom/googlecode/lanterna/screen/Screen$RefreshType;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
        start local 1 // com.googlecode.lanterna.screen.Screen$RefreshType refreshType
         0: .line 129
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.isStarted:Z
            ifne 2
         1: .line 130
            return
         2: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* refreshType */
            getstatic com.googlecode.lanterna.screen.Screen$RefreshType.AUTOMATIC:Lcom/googlecode/lanterna/screen/Screen$RefreshType;
            if_acmpne 3
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.fullRedrawHint:Z
            ifne 4
      StackMap locals:
      StackMap stack:
         3: aload 1 /* refreshType */
            getstatic com.googlecode.lanterna.screen.Screen$RefreshType.COMPLETE:Lcom/googlecode/lanterna/screen/Screen$RefreshType;
            if_acmpne 7
         4: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.refreshFull:()V
         5: .line 134
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.screen.TerminalScreen.fullRedrawHint:Z
         6: .line 135
            goto 16
         7: .line 136
      StackMap locals:
      StackMap stack:
            aload 1 /* refreshType */
            getstatic com.googlecode.lanterna.screen.Screen$RefreshType.AUTOMATIC:Lcom/googlecode/lanterna/screen/Screen$RefreshType;
            if_acmpne 15
         8: .line 137
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            ifnull 9
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            getstatic com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.INVALID:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            if_acmpne 15
         9: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            imul
            i2d
            ldc 0.75
            dmul
            dstore 2 /* threshold */
        start local 2 // double threshold
        10: .line 139
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getBackBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getFrontBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            dload 2 /* threshold */
            d2i
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.isVeryDifferent:(Lcom/googlecode/lanterna/screen/ScreenBuffer;I)Z
            ifeq 13
        11: .line 140
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.refreshFull:()V
        12: .line 141
            goto 16
        13: .line 143
      StackMap locals: double
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.refreshByDelta:()V
        end local 2 // double threshold
        14: .line 145
            goto 16
        15: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.refreshByDelta:()V
        16: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getBackBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getFrontBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.copyTo:(Lcom/googlecode/lanterna/graphics/TextImage;)V
        17: .line 150
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getCursorPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            astore 2 /* cursorPosition */
        start local 2 // com.googlecode.lanterna.TerminalPosition cursorPosition
        18: .line 151
            aload 2 /* cursorPosition */
            ifnull 26
        19: .line 152
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            iconst_1
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorVisible:(Z)V
        20: .line 154
            aload 2 /* cursorPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            ifle 24
        21: .line 155
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getFrontBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            aload 2 /* cursorPosition */
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getCharacterAt:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TextCharacter;
            invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
            ifeq 24
        22: .line 156
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 2 /* cursorPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            iconst_1
            isub
            aload 2 /* cursorPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
        23: .line 157
            goto 27
        24: .line 159
      StackMap locals: com.googlecode.lanterna.TerminalPosition
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 2 /* cursorPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 2 /* cursorPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
        25: .line 161
            goto 27
        26: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            iconst_0
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorVisible:(Z)V
        27: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.flush:()V
        28: .line 165
            return
        end local 2 // com.googlecode.lanterna.TerminalPosition cursorPosition
        end local 1 // com.googlecode.lanterna.screen.Screen$RefreshType refreshType
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            0   29     1     refreshType  Lcom/googlecode/lanterna/screen/Screen$RefreshType;
           10   14     2       threshold  D
           18   29     2  cursorPosition  Lcom/googlecode/lanterna/TerminalPosition;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      refreshType  

  private void useScrollHint();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 168
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            ifnonnull 1
            return
         1: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            getstatic com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.INVALID:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            if_acmpne 4
         2: .line 181
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
         3: .line 171
            return
         4: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            astore 1 /* term */
        start local 1 // com.googlecode.lanterna.terminal.Terminal term
         5: .line 173
            aload 1 /* term */
            instanceof com.googlecode.lanterna.graphics.Scrollable
            ifeq 12
         6: .line 175
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            aload 1 /* term */
            checkcast com.googlecode.lanterna.graphics.Scrollable
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.applyTo:(Lcom/googlecode/lanterna/graphics/Scrollable;)V
         7: .line 177
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getFrontBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.applyTo:(Lcom/googlecode/lanterna/graphics/Scrollable;)V
        end local 1 // com.googlecode.lanterna.terminal.Terminal term
         8: .line 179
            goto 12
         9: .line 180
      StackMap locals:
      StackMap stack: java.lang.UnsupportedOperationException
            pop
        10: .line 181
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 2
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            aload 2
            athrow
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
        13: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            5    8     1  term  Lcom/googlecode/lanterna/terminal/Terminal;
      Exception table:
        from    to  target  type
           1     2       9  Class java.lang.UnsupportedOperationException
           4     8       9  Class java.lang.UnsupportedOperationException
           1     2      11  any
           4    10      11  any
    Exceptions:
      throws java.io.IOException

  private void refreshByDelta();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 185
            new java.util.TreeMap
            dup
            new com.googlecode.lanterna.screen.TerminalScreen$ScreenPointComparator
            dup
            invokespecial com.googlecode.lanterna.screen.TerminalScreen$ScreenPointComparator.<init>:()V
            invokespecial java.util.TreeMap.<init>:(Ljava/util/Comparator;)V
            astore 1 /* updateMap */
        start local 1 // java.util.Map updateMap
         1: .line 186
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
            astore 2 /* terminalSize */
        start local 2 // com.googlecode.lanterna.TerminalSize terminalSize
         2: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.useScrollHint:()V
         3: .line 190
            iconst_0
            istore 3 /* y */
        start local 3 // int y
         4: goto 20
         5: .line 191
      StackMap locals: java.util.Map com.googlecode.lanterna.TerminalSize int
      StackMap stack:
            iconst_0
            istore 4 /* x */
        start local 4 // int x
         6: goto 18
         7: .line 192
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getBackBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            iload 4 /* x */
            iload 3 /* y */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getCharacterAt:(II)Lcom/googlecode/lanterna/TextCharacter;
            astore 5 /* backBufferCharacter */
        start local 5 // com.googlecode.lanterna.TextCharacter backBufferCharacter
         8: .line 193
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getFrontBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            iload 4 /* x */
            iload 3 /* y */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getCharacterAt:(II)Lcom/googlecode/lanterna/TextCharacter;
            astore 6 /* frontBufferCharacter */
        start local 6 // com.googlecode.lanterna.TextCharacter frontBufferCharacter
         9: .line 194
            aload 5 /* backBufferCharacter */
            aload 6 /* frontBufferCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 195
            aload 1 /* updateMap */
            new com.googlecode.lanterna.TerminalPosition
            dup
            iload 4 /* x */
            iload 3 /* y */
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            aload 5 /* backBufferCharacter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 197
      StackMap locals: com.googlecode.lanterna.TextCharacter com.googlecode.lanterna.TextCharacter
      StackMap stack:
            aload 5 /* backBufferCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
            ifeq 14
        12: .line 198
            iinc 4 /* x */ 1
        13: .line 199
            goto 17
      StackMap locals:
      StackMap stack:
        14: aload 6 /* frontBufferCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
            ifeq 17
        15: .line 200
            iload 4 /* x */
            iconst_1
            iadd
            aload 2 /* terminalSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            if_icmpge 17
        16: .line 201
            aload 1 /* updateMap */
            new com.googlecode.lanterna.TerminalPosition
            dup
            iload 4 /* x */
            iconst_1
            iadd
            iload 3 /* y */
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            aload 6 /* frontBufferCharacter */
            bipush 32
            invokevirtual com.googlecode.lanterna.TextCharacter.withCharacter:(C)Lcom/googlecode/lanterna/TextCharacter;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // com.googlecode.lanterna.TextCharacter frontBufferCharacter
        end local 5 // com.googlecode.lanterna.TextCharacter backBufferCharacter
        17: .line 191
      StackMap locals:
      StackMap stack:
            iinc 4 /* x */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* x */
            aload 2 /* terminalSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            if_icmplt 7
        end local 4 // int x
        19: .line 190
            iinc 3 /* y */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* y */
            aload 2 /* terminalSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            if_icmplt 5
        end local 3 // int y
        21: .line 207
            aload 1 /* updateMap */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 23
        22: .line 208
            return
        23: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* updateMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.TerminalPosition
            astore 3 /* currentPosition */
        start local 3 // com.googlecode.lanterna.TerminalPosition currentPosition
        24: .line 211
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 3 /* currentPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 3 /* currentPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
        25: .line 213
            aload 1 /* updateMap */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.TextCharacter
            astore 4 /* firstScreenCharacterToUpdate */
        start local 4 // com.googlecode.lanterna.TextCharacter firstScreenCharacterToUpdate
        26: .line 214
            aload 4 /* firstScreenCharacterToUpdate */
            invokevirtual com.googlecode.lanterna.TextCharacter.getModifiers:()Ljava/util/EnumSet;
            astore 5 /* currentSGR */
        start local 5 // java.util.EnumSet currentSGR
        27: .line 215
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.resetColorAndSGR:()V
        28: .line 216
            aload 5 /* currentSGR */
            invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
            astore 7
            goto 31
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet top java.util.Iterator
      StackMap stack:
        29: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.SGR
            astore 6 /* sgr */
        start local 6 // com.googlecode.lanterna.SGR sgr
        30: .line 217
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 6 /* sgr */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.enableSGR:(Lcom/googlecode/lanterna/SGR;)V
        end local 6 // com.googlecode.lanterna.SGR sgr
        31: .line 216
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        32: .line 219
            aload 4 /* firstScreenCharacterToUpdate */
            invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
            astore 6 /* currentForegroundColor */
        start local 6 // com.googlecode.lanterna.TextColor currentForegroundColor
        33: .line 220
            aload 4 /* firstScreenCharacterToUpdate */
            invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
            astore 7 /* currentBackgroundColor */
        start local 7 // com.googlecode.lanterna.TextColor currentBackgroundColor
        34: .line 221
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 6 /* currentForegroundColor */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setForegroundColor:(Lcom/googlecode/lanterna/TextColor;)V
        35: .line 222
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 7 /* currentBackgroundColor */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setBackgroundColor:(Lcom/googlecode/lanterna/TextColor;)V
        36: .line 223
            aload 1 /* updateMap */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 64
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor top java.util.Iterator
      StackMap stack:
        37: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.TerminalPosition
            astore 8 /* position */
        start local 8 // com.googlecode.lanterna.TerminalPosition position
        38: .line 224
            aload 8 /* position */
            aload 3 /* currentPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.equals:(Ljava/lang/Object;)Z
            ifne 41
        39: .line 225
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 8 /* position */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 8 /* position */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
        40: .line 226
            aload 8 /* position */
            astore 3 /* currentPosition */
        41: .line 228
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor com.googlecode.lanterna.TerminalPosition java.util.Iterator
      StackMap stack:
            aload 1 /* updateMap */
            aload 8 /* position */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.TextCharacter
            astore 10 /* newCharacter */
        start local 10 // com.googlecode.lanterna.TextCharacter newCharacter
        42: .line 229
            aload 6 /* currentForegroundColor */
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 45
        43: .line 230
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setForegroundColor:(Lcom/googlecode/lanterna/TextColor;)V
        44: .line 231
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
            astore 6 /* currentForegroundColor */
        45: .line 233
      StackMap locals: com.googlecode.lanterna.TextCharacter
      StackMap stack:
            aload 7 /* currentBackgroundColor */
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 48
        46: .line 234
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setBackgroundColor:(Lcom/googlecode/lanterna/TextColor;)V
        47: .line 235
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
            astore 7 /* currentBackgroundColor */
        48: .line 237
      StackMap locals:
      StackMap stack:
            invokestatic com.googlecode.lanterna.SGR.values:()[Lcom/googlecode/lanterna/SGR;
            dup
            astore 14
            arraylength
            istore 13
            iconst_0
            istore 12
            goto 58
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor com.googlecode.lanterna.TerminalPosition java.util.Iterator com.googlecode.lanterna.TextCharacter top int int com.googlecode.lanterna.SGR[]
      StackMap stack:
        49: aload 14
            iload 12
            aaload
            astore 11 /* sgr */
        start local 11 // com.googlecode.lanterna.SGR sgr
        50: .line 238
            aload 5 /* currentSGR */
            aload 11 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 54
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getModifiers:()Ljava/util/EnumSet;
            aload 11 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifne 54
        51: .line 239
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 11 /* sgr */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.disableSGR:(Lcom/googlecode/lanterna/SGR;)V
        52: .line 240
            aload 5 /* currentSGR */
            aload 11 /* sgr */
            invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
            pop
        53: .line 241
            goto 57
        54: .line 242
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor com.googlecode.lanterna.TerminalPosition java.util.Iterator com.googlecode.lanterna.TextCharacter com.googlecode.lanterna.SGR int int com.googlecode.lanterna.SGR[]
      StackMap stack:
            aload 5 /* currentSGR */
            aload 11 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifne 57
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getModifiers:()Ljava/util/EnumSet;
            aload 11 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 57
        55: .line 243
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 11 /* sgr */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.enableSGR:(Lcom/googlecode/lanterna/SGR;)V
        56: .line 244
            aload 5 /* currentSGR */
            aload 11 /* sgr */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // com.googlecode.lanterna.SGR sgr
        57: .line 237
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor com.googlecode.lanterna.TerminalPosition java.util.Iterator com.googlecode.lanterna.TextCharacter top int int com.googlecode.lanterna.SGR[]
      StackMap stack:
            iinc 12 1
      StackMap locals:
      StackMap stack:
        58: iload 12
            iload 13
            if_icmplt 49
        59: .line 247
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getCharacterString:()Ljava/lang/String;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.putString:(Ljava/lang/String;)V
        60: .line 248
            aload 10 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
            ifeq 63
        61: .line 250
            aload 3 /* currentPosition */
            iconst_2
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            astore 3 /* currentPosition */
        62: .line 251
            goto 64
        63: .line 254
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor com.googlecode.lanterna.TerminalPosition java.util.Iterator com.googlecode.lanterna.TextCharacter
      StackMap stack:
            aload 3 /* currentPosition */
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            astore 3 /* currentPosition */
        end local 10 // com.googlecode.lanterna.TextCharacter newCharacter
        end local 8 // com.googlecode.lanterna.TerminalPosition position
        64: .line 223
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.Map com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TextCharacter java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        65: .line 257
            return
        end local 7 // com.googlecode.lanterna.TextColor currentBackgroundColor
        end local 6 // com.googlecode.lanterna.TextColor currentForegroundColor
        end local 5 // java.util.EnumSet currentSGR
        end local 4 // com.googlecode.lanterna.TextCharacter firstScreenCharacterToUpdate
        end local 3 // com.googlecode.lanterna.TerminalPosition currentPosition
        end local 2 // com.googlecode.lanterna.TerminalSize terminalSize
        end local 1 // java.util.Map updateMap
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   66     0                          this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            1   66     1                     updateMap  Ljava/util/Map<Lcom/googlecode/lanterna/TerminalPosition;Lcom/googlecode/lanterna/TextCharacter;>;
            2   66     2                  terminalSize  Lcom/googlecode/lanterna/TerminalSize;
            4   21     3                             y  I
            6   19     4                             x  I
            8   17     5           backBufferCharacter  Lcom/googlecode/lanterna/TextCharacter;
            9   17     6          frontBufferCharacter  Lcom/googlecode/lanterna/TextCharacter;
           24   66     3               currentPosition  Lcom/googlecode/lanterna/TerminalPosition;
           26   66     4  firstScreenCharacterToUpdate  Lcom/googlecode/lanterna/TextCharacter;
           27   66     5                    currentSGR  Ljava/util/EnumSet<Lcom/googlecode/lanterna/SGR;>;
           30   31     6                           sgr  Lcom/googlecode/lanterna/SGR;
           33   66     6        currentForegroundColor  Lcom/googlecode/lanterna/TextColor;
           34   66     7        currentBackgroundColor  Lcom/googlecode/lanterna/TextColor;
           38   64     8                      position  Lcom/googlecode/lanterna/TerminalPosition;
           42   64    10                  newCharacter  Lcom/googlecode/lanterna/TextCharacter;
           50   57    11                           sgr  Lcom/googlecode/lanterna/SGR;
    Exceptions:
      throws java.io.IOException

  private void refreshFull();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=12, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 260
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setForegroundColor:(Lcom/googlecode/lanterna/TextColor;)V
         1: .line 261
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setBackgroundColor:(Lcom/googlecode/lanterna/TextColor;)V
         2: .line 262
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.clearScreen:()V
         3: .line 263
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.resetColorAndSGR:()V
         4: .line 264
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
         5: .line 266
            ldc Lcom/googlecode/lanterna/SGR;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 1 /* currentSGR */
        start local 1 // java.util.EnumSet currentSGR
         6: .line 267
            getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
            astore 2 /* currentForegroundColor */
        start local 2 // com.googlecode.lanterna.TextColor currentForegroundColor
         7: .line 268
            getstatic com.googlecode.lanterna.TextColor$ANSI.DEFAULT:Lcom/googlecode/lanterna/TextColor$ANSI;
            astore 3 /* currentBackgroundColor */
        start local 3 // com.googlecode.lanterna.TextColor currentBackgroundColor
         8: .line 269
            iconst_0
            istore 4 /* y */
        start local 4 // int y
         9: goto 46
        10: .line 270
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            iconst_0
            iload 4 /* y */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
        11: .line 271
            iconst_0
            istore 5 /* currentColumn */
        start local 5 // int currentColumn
        12: .line 272
            iconst_0
            istore 6 /* x */
        start local 6 // int x
        13: goto 44
        14: .line 273
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getBackBuffer:()Lcom/googlecode/lanterna/screen/ScreenBuffer;
            iload 6 /* x */
            iload 4 /* y */
            invokevirtual com.googlecode.lanterna.screen.ScreenBuffer.getCharacterAt:(II)Lcom/googlecode/lanterna/TextCharacter;
            astore 7 /* newCharacter */
        start local 7 // com.googlecode.lanterna.TextCharacter newCharacter
        15: .line 274
            aload 7 /* newCharacter */
            getstatic com.googlecode.lanterna.screen.TerminalScreen.DEFAULT_CHARACTER:Lcom/googlecode/lanterna/TextCharacter;
            invokevirtual com.googlecode.lanterna.TextCharacter.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 275
            goto 43
        17: .line 278
      StackMap locals: com.googlecode.lanterna.TextCharacter
      StackMap stack:
            aload 2 /* currentForegroundColor */
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 20
        18: .line 279
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setForegroundColor:(Lcom/googlecode/lanterna/TextColor;)V
        19: .line 280
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getForegroundColor:()Lcom/googlecode/lanterna/TextColor;
            astore 2 /* currentForegroundColor */
        20: .line 282
      StackMap locals:
      StackMap stack:
            aload 3 /* currentBackgroundColor */
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 23
        21: .line 283
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setBackgroundColor:(Lcom/googlecode/lanterna/TextColor;)V
        22: .line 284
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getBackgroundColor:()Lcom/googlecode/lanterna/TextColor;
            astore 3 /* currentBackgroundColor */
        23: .line 286
      StackMap locals:
      StackMap stack:
            invokestatic com.googlecode.lanterna.SGR.values:()[Lcom/googlecode/lanterna/SGR;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int int int com.googlecode.lanterna.TextCharacter top int int com.googlecode.lanterna.SGR[]
      StackMap stack:
        24: aload 11
            iload 9
            aaload
            astore 8 /* sgr */
        start local 8 // com.googlecode.lanterna.SGR sgr
        25: .line 287
            aload 1 /* currentSGR */
            aload 8 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 29
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getModifiers:()Ljava/util/EnumSet;
            aload 8 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifne 29
        26: .line 288
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 8 /* sgr */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.disableSGR:(Lcom/googlecode/lanterna/SGR;)V
        27: .line 289
            aload 1 /* currentSGR */
            aload 8 /* sgr */
            invokevirtual java.util.EnumSet.remove:(Ljava/lang/Object;)Z
            pop
        28: .line 290
            goto 32
        29: .line 291
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int int int com.googlecode.lanterna.TextCharacter com.googlecode.lanterna.SGR int int com.googlecode.lanterna.SGR[]
      StackMap stack:
            aload 1 /* currentSGR */
            aload 8 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifne 32
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getModifiers:()Ljava/util/EnumSet;
            aload 8 /* sgr */
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 292
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 8 /* sgr */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.enableSGR:(Lcom/googlecode/lanterna/SGR;)V
        31: .line 293
            aload 1 /* currentSGR */
            aload 8 /* sgr */
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // com.googlecode.lanterna.SGR sgr
        32: .line 286
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int int int com.googlecode.lanterna.TextCharacter top int int com.googlecode.lanterna.SGR[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 24
        34: .line 296
            iload 5 /* currentColumn */
            iload 6 /* x */
            if_icmpeq 37
        35: .line 297
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            iload 6 /* x */
            iload 4 /* y */
            invokeinterface com.googlecode.lanterna.terminal.Terminal.setCursorPosition:(II)V
        36: .line 298
            iload 6 /* x */
            istore 5 /* currentColumn */
        37: .line 300
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen java.util.EnumSet com.googlecode.lanterna.TextColor com.googlecode.lanterna.TextColor int int int com.googlecode.lanterna.TextCharacter
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminal:()Lcom/googlecode/lanterna/terminal/Terminal;
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.getCharacterString:()Ljava/lang/String;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.putString:(Ljava/lang/String;)V
        38: .line 301
            aload 7 /* newCharacter */
            invokevirtual com.googlecode.lanterna.TextCharacter.isDoubleWidth:()Z
            ifeq 42
        39: .line 303
            iinc 5 /* currentColumn */ 2
        40: .line 304
            iinc 6 /* x */ 1
        41: .line 305
            goto 43
        42: .line 308
      StackMap locals:
      StackMap stack:
            iinc 5 /* currentColumn */ 1
        end local 7 // com.googlecode.lanterna.TextCharacter newCharacter
        43: .line 272
      StackMap locals:
      StackMap stack:
            iinc 6 /* x */ 1
      StackMap locals:
      StackMap stack:
        44: iload 6 /* x */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            if_icmplt 14
        end local 6 // int x
        end local 5 // int currentColumn
        45: .line 269
            iinc 4 /* y */ 1
      StackMap locals:
      StackMap stack:
        46: iload 4 /* y */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            if_icmplt 10
        end local 4 // int y
        47: .line 312
            return
        end local 3 // com.googlecode.lanterna.TextColor currentBackgroundColor
        end local 2 // com.googlecode.lanterna.TextColor currentForegroundColor
        end local 1 // java.util.EnumSet currentSGR
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   48     0                    this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            6   48     1              currentSGR  Ljava/util/EnumSet<Lcom/googlecode/lanterna/SGR;>;
            7   48     2  currentForegroundColor  Lcom/googlecode/lanterna/TextColor;
            8   48     3  currentBackgroundColor  Lcom/googlecode/lanterna/TextColor;
            9   47     4                       y  I
           12   45     5           currentColumn  I
           13   45     6                       x  I
           15   43     7            newCharacter  Lcom/googlecode/lanterna/TextCharacter;
           25   32     8                     sgr  Lcom/googlecode/lanterna/SGR;
    Exceptions:
      throws java.io.IOException

  public com.googlecode.lanterna.terminal.Terminal getTerminal();
    descriptor: ()Lcom/googlecode/lanterna/terminal/Terminal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 326
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.terminal:Lcom/googlecode/lanterna/terminal/Terminal;
            areturn
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/screen/TerminalScreen;

  public com.googlecode.lanterna.input.KeyStroke readInput();
    descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 331
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.terminal:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.readInput:()Lcom/googlecode/lanterna/input/KeyStroke;
            areturn
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/screen/TerminalScreen;
    Exceptions:
      throws java.io.IOException

  public com.googlecode.lanterna.input.KeyStroke pollInput();
    descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 336
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.terminal:Lcom/googlecode/lanterna/terminal/Terminal;
            invokeinterface com.googlecode.lanterna.terminal.Terminal.pollInput:()Lcom/googlecode/lanterna/input/KeyStroke;
            areturn
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/screen/TerminalScreen;
    Exceptions:
      throws java.io.IOException

  public synchronized void clear();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 341
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.screen.AbstractScreen.clear:()V
         1: .line 342
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.screen.TerminalScreen.fullRedrawHint:Z
         2: .line 343
            aload 0 /* this */
            getstatic com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.INVALID:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
         3: .line 344
            return
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/googlecode/lanterna/screen/TerminalScreen;

  public synchronized com.googlecode.lanterna.TerminalSize doResizeIfNecessary();
    descriptor: ()Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
         0: .line 348
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.screen.AbstractScreen.doResizeIfNecessary:()Lcom/googlecode/lanterna/TerminalSize;
            astore 1 /* newSize */
        start local 1 // com.googlecode.lanterna.TerminalSize newSize
         1: .line 349
            aload 1 /* newSize */
            ifnull 3
         2: .line 350
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.screen.TerminalScreen.fullRedrawHint:Z
         3: .line 352
      StackMap locals: com.googlecode.lanterna.TerminalSize
      StackMap stack:
            aload 1 /* newSize */
            areturn
        end local 1 // com.googlecode.lanterna.TerminalSize newSize
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            1    4     1  newSize  Lcom/googlecode/lanterna/TerminalSize;

  public void scrollLines(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // com.googlecode.lanterna.screen.TerminalScreen this
        start local 1 // int firstLine
        start local 2 // int lastLine
        start local 3 // int distance
         0: .line 362
            iload 3 /* distance */
            ifeq 1
            iload 1 /* firstLine */
            iload 2 /* lastLine */
            if_icmple 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* firstLine */
            iload 2 /* lastLine */
            iload 3 /* distance */
            invokespecial com.googlecode.lanterna.screen.AbstractScreen.scrollLines:(III)V
         3: .line 367
            new com.googlecode.lanterna.screen.TerminalScreen$ScrollHint
            dup
            iload 1 /* firstLine */
            iload 2 /* lastLine */
            iload 3 /* distance */
            invokespecial com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.<init>:(III)V
            astore 4 /* newHint */
        start local 4 // com.googlecode.lanterna.screen.TerminalScreen$ScrollHint newHint
         4: .line 368
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            ifnonnull 7
         5: .line 370
            aload 0 /* this */
            aload 4 /* newHint */
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
         6: .line 371
            goto 12
         7: .line 372
      StackMap locals: com.googlecode.lanterna.screen.TerminalScreen$ScrollHint
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            getstatic com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.INVALID:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            if_acmpeq 12
         8: .line 375
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            aload 4 /* newHint */
            invokevirtual com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.matches:(Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;)Z
            ifeq 11
         9: .line 377
            aload 0 /* this */
            getfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            dup
            getfield com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.distance:I
            aload 4 /* newHint */
            getfield com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.distance:I
            iadd
            putfield com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.distance:I
        10: .line 378
            goto 12
        11: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic com.googlecode.lanterna.screen.TerminalScreen$ScrollHint.INVALID:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
            putfield com.googlecode.lanterna.screen.TerminalScreen.scrollHint:Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
        12: .line 382
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.googlecode.lanterna.screen.TerminalScreen$ScrollHint newHint
        end local 3 // int distance
        end local 2 // int lastLine
        end local 1 // int firstLine
        end local 0 // com.googlecode.lanterna.screen.TerminalScreen this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lcom/googlecode/lanterna/screen/TerminalScreen;
            0   13     1  firstLine  I
            0   13     2   lastLine  I
            0   13     3   distance  I
            4   13     4    newHint  Lcom/googlecode/lanterna/screen/TerminalScreen$ScrollHint;
    MethodParameters:
           Name  Flags
      firstLine  
      lastLine   
      distance   
}
SourceFile: "TerminalScreen.java"
NestMembers:
  com.googlecode.lanterna.screen.TerminalScreen$ScreenPointComparator  com.googlecode.lanterna.screen.TerminalScreen$ScrollHint  com.googlecode.lanterna.screen.TerminalScreen$TerminalScreenResizeListener
InnerClasses:
  public final ANSI = com.googlecode.lanterna.TextColor$ANSI of com.googlecode.lanterna.TextColor
  public final RefreshType = com.googlecode.lanterna.screen.Screen$RefreshType of com.googlecode.lanterna.screen.Screen
  private ScreenPointComparator = com.googlecode.lanterna.screen.TerminalScreen$ScreenPointComparator of com.googlecode.lanterna.screen.TerminalScreen
  private ScrollHint = com.googlecode.lanterna.screen.TerminalScreen$ScrollHint of com.googlecode.lanterna.screen.TerminalScreen
  private TerminalScreenResizeListener = com.googlecode.lanterna.screen.TerminalScreen$TerminalScreenResizeListener of com.googlecode.lanterna.screen.TerminalScreen