public class com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer implements com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer
  super_class: java.lang.Object
{
  private com.googlecode.lanterna.TerminalPosition viewTopLeft;
    descriptor: Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x0002) ACC_PRIVATE

  private final com.googlecode.lanterna.gui2.ScrollBar verticalScrollBar;
    descriptor: Lcom/googlecode/lanterna/gui2/ScrollBar;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.googlecode.lanterna.gui2.ScrollBar horizontalScrollBar;
    descriptor: Lcom/googlecode/lanterna/gui2/ScrollBar;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private java.lang.Character unusedSpaceCharacter;
    descriptor: Ljava/lang/Character;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
         0: .line 799
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 800
            aload 0 /* this */
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
         2: .line 801
            aload 0 /* this */
            new com.googlecode.lanterna.gui2.ScrollBar
            dup
            getstatic com.googlecode.lanterna.gui2.Direction.VERTICAL:Lcom/googlecode/lanterna/gui2/Direction;
            invokespecial com.googlecode.lanterna.gui2.ScrollBar.<init>:(Lcom/googlecode/lanterna/gui2/Direction;)V
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.verticalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
         3: .line 802
            aload 0 /* this */
            new com.googlecode.lanterna.gui2.ScrollBar
            dup
            getstatic com.googlecode.lanterna.gui2.Direction.HORIZONTAL:Lcom/googlecode/lanterna/gui2/Direction;
            invokespecial com.googlecode.lanterna.gui2.ScrollBar.<init>:(Lcom/googlecode/lanterna/gui2/Direction;)V
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.horizontalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
         4: .line 803
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.hideScrollBars:Z
         5: .line 804
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.unusedSpaceCharacter:Ljava/lang/Character;
         6: .line 805
            return
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;

  public void setUnusedSpaceCharacter(char);
    descriptor: (C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
        start local 1 // char unusedSpaceCharacter
         0: .line 814
            iload 1 /* unusedSpaceCharacter */
            invokestatic com.googlecode.lanterna.TerminalTextUtils.isCharDoubleWidth:(C)Z
            ifeq 2
         1: .line 815
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot use a double-width character as the unused space character in a TextBox"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* unusedSpaceCharacter */
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.unusedSpaceCharacter:Ljava/lang/Character;
         3: .line 818
            return
        end local 1 // char unusedSpaceCharacter
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;
            0    4     1  unusedSpaceCharacter  C
    MethodParameters:
                      Name  Flags
      unusedSpaceCharacter  

  public com.googlecode.lanterna.TerminalPosition getViewTopLeft();
    descriptor: ()Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
         0: .line 822
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            areturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;

  public void setViewTopLeft(com.googlecode.lanterna.TerminalPosition);
    descriptor: (Lcom/googlecode/lanterna/TerminalPosition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
        start local 1 // com.googlecode.lanterna.TerminalPosition position
         0: .line 827
            aload 1 /* position */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            ifge 2
         1: .line 828
            aload 1 /* position */
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            astore 1 /* position */
         2: .line 830
      StackMap locals:
      StackMap stack:
            aload 1 /* position */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ifge 4
         3: .line 831
            aload 1 /* position */
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            astore 1 /* position */
         4: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* position */
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
         5: .line 834
            return
        end local 1 // com.googlecode.lanterna.TerminalPosition position
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;
            0    6     1  position  Lcom/googlecode/lanterna/TerminalPosition;
    MethodParameters:
          Name  Flags
      position  

  public com.googlecode.lanterna.TerminalPosition getCursorLocation(com.googlecode.lanterna.gui2.TextBox);
    descriptor: (Lcom/googlecode/lanterna/gui2/TextBox;)Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
        start local 1 // com.googlecode.lanterna.gui2.TextBox component
         0: .line 838
            aload 1 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.isReadOnly:()Z
            ifeq 2
         1: .line 839
            aconst_null
            areturn
         2: .line 843
      StackMap locals:
      StackMap stack:
            aload 1 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getCaretPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            astore 2 /* caretPosition */
        start local 2 // com.googlecode.lanterna.TerminalPosition caretPosition
         3: .line 844
            aload 1 /* component */
            aload 2 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getLine:(I)Ljava/lang/String;
            astore 3 /* line */
        start local 3 // java.lang.String line
         4: .line 845
            aload 2 /* caretPosition */
            aload 2 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 3 /* line */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.min:(II)I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            astore 2 /* caretPosition */
         5: .line 847
            aload 2 /* caretPosition */
         6: .line 848
            aload 3 /* line */
            aload 2 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnIndex:(Ljava/lang/String;I)I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
         7: .line 849
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            ineg
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
         8: .line 850
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ineg
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
         9: .line 847
            areturn
        end local 3 // java.lang.String line
        end local 2 // com.googlecode.lanterna.TerminalPosition caretPosition
        end local 1 // com.googlecode.lanterna.gui2.TextBox component
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;
            0   10     1      component  Lcom/googlecode/lanterna/gui2/TextBox;
            3   10     2  caretPosition  Lcom/googlecode/lanterna/TerminalPosition;
            4   10     3           line  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      component  

  public com.googlecode.lanterna.TerminalSize getPreferredSize(com.googlecode.lanterna.gui2.TextBox);
    descriptor: (Lcom/googlecode/lanterna/gui2/TextBox;)Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
        start local 1 // com.googlecode.lanterna.gui2.TextBox component
         0: .line 855
            new com.googlecode.lanterna.TerminalSize
            dup
            aload 1 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            aload 1 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            areturn
        end local 1 // com.googlecode.lanterna.gui2.TextBox component
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;
            0    1     1  component  Lcom/googlecode/lanterna/gui2/TextBox;
    MethodParameters:
           Name  Flags
      component  

  public void setHideScrollBars(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
        start local 1 // boolean hideScrollBars
         0: .line 865
            aload 0 /* this */
            iload 1 /* hideScrollBars */
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.hideScrollBars:Z
         1: .line 866
            return
        end local 1 // boolean hideScrollBars
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;
            0    2     1  hideScrollBars  Z
    MethodParameters:
                Name  Flags
      hideScrollBars  

  public void drawComponent(com.googlecode.lanterna.gui2.TextGUIGraphics, com.googlecode.lanterna.gui2.TextBox);
    descriptor: (Lcom/googlecode/lanterna/gui2/TextGUIGraphics;Lcom/googlecode/lanterna/gui2/TextBox;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
        start local 1 // com.googlecode.lanterna.gui2.TextGUIGraphics graphics
        start local 2 // com.googlecode.lanterna.gui2.TextBox component
         0: .line 870
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            astore 3 /* realTextArea */
        start local 3 // com.googlecode.lanterna.TerminalSize realTextArea
         1: .line 871
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            ifeq 2
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            ifne 3
         2: .line 872
      StackMap locals: com.googlecode.lanterna.TerminalSize
      StackMap stack:
            return
         3: .line 874
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* drawVerticalScrollBar */
        start local 4 // boolean drawVerticalScrollBar
         4: .line 875
            iconst_0
            istore 5 /* drawHorizontalScrollBar */
        start local 5 // boolean drawHorizontalScrollBar
         5: .line 876
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getLineCount:()I
            istore 6 /* textBoxLineCount */
        start local 6 // int textBoxLineCount
         6: .line 877
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.hideScrollBars:Z
            ifne 9
            iload 6 /* textBoxLineCount */
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            if_icmple 9
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iconst_1
            if_icmple 9
         7: .line 878
            aload 3 /* realTextArea */
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalSize.withRelativeColumns:(I)Lcom/googlecode/lanterna/TerminalSize;
            astore 3 /* realTextArea */
         8: .line 879
            iconst_1
            istore 4 /* drawVerticalScrollBar */
         9: .line 881
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.hideScrollBars:Z
            ifne 15
            aload 2 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            if_icmple 15
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iconst_1
            if_icmple 15
        10: .line 882
            aload 3 /* realTextArea */
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalSize.withRelativeRows:(I)Lcom/googlecode/lanterna/TerminalSize;
            astore 3 /* realTextArea */
        11: .line 883
            iconst_1
            istore 5 /* drawHorizontalScrollBar */
        12: .line 884
            iload 6 /* textBoxLineCount */
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            if_icmple 15
            iload 4 /* drawVerticalScrollBar */
            ifne 15
        13: .line 885
            aload 3 /* realTextArea */
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalSize.withRelativeColumns:(I)Lcom/googlecode/lanterna/TerminalSize;
            astore 3 /* realTextArea */
        14: .line 886
            iconst_1
            istore 4 /* drawVerticalScrollBar */
        15: .line 890
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graphics */
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            aload 3 /* realTextArea */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.newTextGraphics:(Lcom/googlecode/lanterna/TerminalPosition;Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.drawTextArea:(Lcom/googlecode/lanterna/gui2/TextGUIGraphics;Lcom/googlecode/lanterna/gui2/TextBox;)V
        16: .line 893
            iload 4 /* drawVerticalScrollBar */
            ifeq 27
        17: .line 894
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.verticalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getParent:()Lcom/googlecode/lanterna/gui2/Container;
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.onAdded:(Lcom/googlecode/lanterna/gui2/Container;)V
        18: .line 895
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.verticalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.setViewSize:(I)Lcom/googlecode/lanterna/gui2/ScrollBar;
            pop
        19: .line 896
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.verticalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            iload 6 /* textBoxLineCount */
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.setScrollMaximum:(I)Lcom/googlecode/lanterna/gui2/ScrollBar;
            pop
        20: .line 897
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.verticalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.setScrollPosition:(I)Lcom/googlecode/lanterna/gui2/ScrollBar;
            pop
        21: .line 898
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.verticalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 1 /* graphics */
        22: .line 899
            new com.googlecode.lanterna.TerminalPosition
            dup
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iconst_1
            isub
            iconst_0
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
        23: .line 900
            new com.googlecode.lanterna.TerminalSize
            dup
            iconst_1
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iload 5 /* drawHorizontalScrollBar */
            ifeq 24
            iconst_1
            goto 25
      StackMap locals: com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.TerminalSize int int int
      StackMap stack: com.googlecode.lanterna.gui2.ScrollBar com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.TerminalPosition new 23 new 23 int int
        24: iconst_0
      StackMap locals: com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.TerminalSize int int int
      StackMap stack: com.googlecode.lanterna.gui2.ScrollBar com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.TerminalPosition new 23 new 23 int int int
        25: isub
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
        26: .line 898
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.newTextGraphics:(Lcom/googlecode/lanterna/TerminalPosition;Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.draw:(Lcom/googlecode/lanterna/gui2/TextGUIGraphics;)V
        27: .line 902
      StackMap locals:
      StackMap stack:
            iload 5 /* drawHorizontalScrollBar */
            ifeq 38
        28: .line 903
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.horizontalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getParent:()Lcom/googlecode/lanterna/gui2/Container;
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.onAdded:(Lcom/googlecode/lanterna/gui2/Container;)V
        29: .line 904
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.horizontalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 3 /* realTextArea */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.setViewSize:(I)Lcom/googlecode/lanterna/gui2/ScrollBar;
            pop
        30: .line 905
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.horizontalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 2 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            iconst_1
            isub
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.setScrollMaximum:(I)Lcom/googlecode/lanterna/gui2/ScrollBar;
            pop
        31: .line 906
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.horizontalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.setScrollPosition:(I)Lcom/googlecode/lanterna/gui2/ScrollBar;
            pop
        32: .line 907
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.horizontalScrollBar:Lcom/googlecode/lanterna/gui2/ScrollBar;
            aload 1 /* graphics */
        33: .line 908
            new com.googlecode.lanterna.TerminalPosition
            dup
            iconst_0
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iconst_1
            isub
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
        34: .line 909
            new com.googlecode.lanterna.TerminalSize
            dup
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iload 4 /* drawVerticalScrollBar */
            ifeq 35
            iconst_1
            goto 36
      StackMap locals: com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.TerminalSize int int int
      StackMap stack: com.googlecode.lanterna.gui2.ScrollBar com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.TerminalPosition new 34 new 34 int
        35: iconst_0
      StackMap locals: com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.TerminalSize int int int
      StackMap stack: com.googlecode.lanterna.gui2.ScrollBar com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.TerminalPosition new 34 new 34 int int
        36: isub
            iconst_1
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
        37: .line 907
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.newTextGraphics:(Lcom/googlecode/lanterna/TerminalPosition;Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            invokevirtual com.googlecode.lanterna.gui2.ScrollBar.draw:(Lcom/googlecode/lanterna/gui2/TextGUIGraphics;)V
        38: .line 911
      StackMap locals:
      StackMap stack:
            return
        end local 6 // int textBoxLineCount
        end local 5 // boolean drawHorizontalScrollBar
        end local 4 // boolean drawVerticalScrollBar
        end local 3 // com.googlecode.lanterna.TerminalSize realTextArea
        end local 2 // com.googlecode.lanterna.gui2.TextBox component
        end local 1 // com.googlecode.lanterna.gui2.TextGUIGraphics graphics
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   39     0                     this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;
            0   39     1                 graphics  Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            0   39     2                component  Lcom/googlecode/lanterna/gui2/TextBox;
            1   39     3             realTextArea  Lcom/googlecode/lanterna/TerminalSize;
            4   39     4    drawVerticalScrollBar  Z
            5   39     5  drawHorizontalScrollBar  Z
            6   39     6         textBoxLineCount  I
    MethodParameters:
           Name  Flags
      graphics   
      component  

  private void drawTextArea(com.googlecode.lanterna.gui2.TextGUIGraphics, com.googlecode.lanterna.gui2.TextBox);
    descriptor: (Lcom/googlecode/lanterna/gui2/TextGUIGraphics;Lcom/googlecode/lanterna/gui2/TextBox;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
        start local 1 // com.googlecode.lanterna.gui2.TextGUIGraphics graphics
        start local 2 // com.googlecode.lanterna.gui2.TextBox component
         0: .line 914
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            astore 3 /* textAreaSize */
        start local 3 // com.googlecode.lanterna.TerminalSize textAreaSize
         1: .line 915
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iadd
            aload 2 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            if_icmple 5
         2: .line 916
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            aload 2 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            isub
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
         3: .line 917
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            ifge 5
         4: .line 918
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
         5: .line 921
      StackMap locals: com.googlecode.lanterna.TerminalSize
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iadd
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getLineCount:()I
            if_icmple 9
         6: .line 922
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getLineCount:()I
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            isub
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
         7: .line 923
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ifge 9
         8: .line 924
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
         9: .line 927
      StackMap locals:
      StackMap stack:
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getThemeDefinition:()Lcom/googlecode/lanterna/graphics/ThemeDefinition;
            astore 4 /* themeDefinition */
        start local 4 // com.googlecode.lanterna.graphics.ThemeDefinition themeDefinition
        10: .line 928
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.isFocused:()Z
            ifeq 16
        11: .line 929
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.isReadOnly:()Z
            ifeq 14
        12: .line 930
            aload 1 /* graphics */
            aload 4 /* themeDefinition */
            invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getSelected:()Lcom/googlecode/lanterna/graphics/ThemeStyle;
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.applyThemeStyle:(Lcom/googlecode/lanterna/graphics/ThemeStyle;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
        13: .line 931
            goto 20
        14: .line 933
      StackMap locals: com.googlecode.lanterna.graphics.ThemeDefinition
      StackMap stack:
            aload 1 /* graphics */
            aload 4 /* themeDefinition */
            invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getActive:()Lcom/googlecode/lanterna/graphics/ThemeStyle;
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.applyThemeStyle:(Lcom/googlecode/lanterna/graphics/ThemeStyle;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
        15: .line 935
            goto 20
        16: .line 937
      StackMap locals:
      StackMap stack:
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.isReadOnly:()Z
            ifeq 19
        17: .line 938
            aload 1 /* graphics */
            aload 4 /* themeDefinition */
            invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getInsensitive:()Lcom/googlecode/lanterna/graphics/ThemeStyle;
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.applyThemeStyle:(Lcom/googlecode/lanterna/graphics/ThemeStyle;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
        18: .line 939
            goto 20
        19: .line 941
      StackMap locals:
      StackMap stack:
            aload 1 /* graphics */
            aload 4 /* themeDefinition */
            invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getNormal:()Lcom/googlecode/lanterna/graphics/ThemeStyle;
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.applyThemeStyle:(Lcom/googlecode/lanterna/graphics/ThemeStyle;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
        20: .line 945
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.unusedSpaceCharacter:Ljava/lang/Character;
            astore 5 /* fillCharacter */
        start local 5 // java.lang.Character fillCharacter
        21: .line 946
            aload 5 /* fillCharacter */
            ifnonnull 23
        22: .line 947
            aload 4 /* themeDefinition */
            ldc "FILL"
            bipush 32
            invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getCharacter:(Ljava/lang/String;C)C
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            astore 5 /* fillCharacter */
        23: .line 949
      StackMap locals: java.lang.Character
      StackMap stack:
            aload 1 /* graphics */
            aload 5 /* fillCharacter */
            invokevirtual java.lang.Character.charValue:()C
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.fill:(C)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
        24: .line 951
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.isReadOnly:()Z
            ifne 43
        25: .line 953
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getCaretPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            astore 6 /* caretPosition */
        start local 6 // com.googlecode.lanterna.TerminalPosition caretPosition
        26: .line 954
            aload 2 /* component */
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getLine:(I)Ljava/lang/String;
            astore 7 /* caretLine */
        start local 7 // java.lang.String caretLine
        27: .line 955
            aload 6 /* caretPosition */
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 7 /* caretLine */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.min:(II)I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            astore 6 /* caretPosition */
        28: .line 958
            aload 7 /* caretLine */
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnIndex:(Ljava/lang/String;I)I
            istore 8 /* trueColumnPosition */
        start local 8 // int trueColumnPosition
        29: .line 959
            iload 8 /* trueColumnPosition */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            if_icmpge 32
        30: .line 960
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            iload 8 /* trueColumnPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
        31: .line 961
            goto 34
        32: .line 962
      StackMap locals: com.googlecode.lanterna.TerminalPosition java.lang.String int
      StackMap stack:
            iload 8 /* trueColumnPosition */
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            iadd
            if_icmplt 34
        33: .line 963
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            iload 8 /* trueColumnPosition */
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            isub
            iconst_1
            iadd
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
        34: .line 965
      StackMap locals:
      StackMap stack:
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            if_icmpge 37
        35: .line 966
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
        36: .line 967
            goto 39
        37: .line 968
      StackMap locals:
      StackMap stack:
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iadd
            if_icmplt 39
        38: .line 969
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            isub
            iconst_1
            iadd
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
        39: .line 973
      StackMap locals:
      StackMap stack:
            iload 8 /* trueColumnPosition */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            isub
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iconst_1
            isub
            if_icmpne 43
        40: .line 974
            aload 7 /* caretLine */
            invokevirtual java.lang.String.length:()I
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            if_icmple 43
        41: .line 975
            aload 7 /* caretLine */
            aload 6 /* caretPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic com.googlecode.lanterna.TerminalTextUtils.isCharCJK:(C)Z
            ifeq 43
        42: .line 976
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
        end local 8 // int trueColumnPosition
        end local 7 // java.lang.String caretLine
        end local 6 // com.googlecode.lanterna.TerminalPosition caretPosition
        43: .line 981
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* row */
        start local 6 // int row
        44: goto 59
        45: .line 982
      StackMap locals: int
      StackMap stack:
            iload 6 /* row */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iadd
            istore 7 /* rowIndex */
        start local 7 // int rowIndex
        46: .line 983
            iload 7 /* rowIndex */
            aload 2 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 48
        47: .line 984
            goto 58
        48: .line 986
      StackMap locals: int
      StackMap stack:
            aload 2 /* component */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iload 7 /* rowIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* line */
        start local 8 // java.lang.String line
        49: .line 987
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getMask:()Ljava/lang/Character;
            ifnull 57
        50: .line 988
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* builder */
        start local 9 // java.lang.StringBuilder builder
        51: .line 989
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        52: goto 55
        53: .line 990
      StackMap locals: java.lang.String java.lang.StringBuilder int
      StackMap stack:
            aload 9 /* builder */
            aload 2 /* component */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getMask:()Ljava/lang/Character;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        54: .line 989
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 10 /* i */
            aload 8 /* line */
            invokevirtual java.lang.String.length:()I
            if_icmplt 53
        end local 10 // int i
        56: .line 992
            aload 9 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 8 /* line */
        end local 9 // java.lang.StringBuilder builder
        57: .line 994
      StackMap locals:
      StackMap stack:
            aload 1 /* graphics */
            iconst_0
            iload 6 /* row */
            aload 8 /* line */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.viewTopLeft:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            invokestatic com.googlecode.lanterna.TerminalTextUtils.fitString:(Ljava/lang/String;II)Ljava/lang/String;
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.putString:(IILjava/lang/String;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
        end local 8 // java.lang.String line
        end local 7 // int rowIndex
        58: .line 981
      StackMap locals:
      StackMap stack:
            iinc 6 /* row */ 1
      StackMap locals:
      StackMap stack:
        59: iload 6 /* row */
            aload 3 /* textAreaSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            if_icmplt 45
        end local 6 // int row
        60: .line 996
            return
        end local 5 // java.lang.Character fillCharacter
        end local 4 // com.googlecode.lanterna.graphics.ThemeDefinition themeDefinition
        end local 3 // com.googlecode.lanterna.TerminalSize textAreaSize
        end local 2 // com.googlecode.lanterna.gui2.TextBox component
        end local 1 // com.googlecode.lanterna.gui2.TextGUIGraphics graphics
        end local 0 // com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   61     0                this  Lcom/googlecode/lanterna/gui2/TextBox$DefaultTextBoxRenderer;
            0   61     1            graphics  Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            0   61     2           component  Lcom/googlecode/lanterna/gui2/TextBox;
            1   61     3        textAreaSize  Lcom/googlecode/lanterna/TerminalSize;
           10   61     4     themeDefinition  Lcom/googlecode/lanterna/graphics/ThemeDefinition;
           21   61     5       fillCharacter  Ljava/lang/Character;
           26   43     6       caretPosition  Lcom/googlecode/lanterna/TerminalPosition;
           27   43     7           caretLine  Ljava/lang/String;
           29   43     8  trueColumnPosition  I
           44   60     6                 row  I
           46   58     7            rowIndex  I
           49   58     8                line  Ljava/lang/String;
           51   57     9             builder  Ljava/lang/StringBuilder;
           52   56    10                   i  I
    MethodParameters:
           Name  Flags
      graphics   
      component  

  public com.googlecode.lanterna.TerminalPosition getCursorLocation(com.googlecode.lanterna.gui2.Component);
    descriptor: (Lcom/googlecode/lanterna/gui2/Component;)Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast com.googlecode.lanterna.gui2.TextBox
            invokevirtual com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.getCursorLocation:(Lcom/googlecode/lanterna/gui2/TextBox;)Lcom/googlecode/lanterna/TerminalPosition;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void drawComponent(com.googlecode.lanterna.gui2.TextGUIGraphics, com.googlecode.lanterna.gui2.Component);
    descriptor: (Lcom/googlecode/lanterna/gui2/TextGUIGraphics;Lcom/googlecode/lanterna/gui2/Component;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast com.googlecode.lanterna.gui2.TextBox
            invokevirtual com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.drawComponent:(Lcom/googlecode/lanterna/gui2/TextGUIGraphics;Lcom/googlecode/lanterna/gui2/TextBox;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public com.googlecode.lanterna.TerminalSize getPreferredSize(com.googlecode.lanterna.gui2.Component);
    descriptor: (Lcom/googlecode/lanterna/gui2/Component;)Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast com.googlecode.lanterna.gui2.TextBox
            invokevirtual com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.getPreferredSize:(Lcom/googlecode/lanterna/gui2/TextBox;)Lcom/googlecode/lanterna/TerminalSize;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "TextBox.java"
NestHost: com.googlecode.lanterna.gui2.TextBox
InnerClasses:
  public DefaultTextBoxRenderer = com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer of com.googlecode.lanterna.gui2.TextBox
  public abstract TextBoxRenderer = com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer of com.googlecode.lanterna.gui2.TextBox