public class com.googlecode.lanterna.gui2.TextBox extends com.googlecode.lanterna.gui2.AbstractInteractableComponent<com.googlecode.lanterna.gui2.TextBox>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.gui2.TextBox
  super_class: com.googlecode.lanterna.gui2.AbstractInteractableComponent
{
  private final java.util.List<java.lang.String> lines;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final com.googlecode.lanterna.gui2.TextBox$Style style;
    descriptor: Lcom/googlecode/lanterna/gui2/TextBox$Style;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.googlecode.lanterna.TerminalPosition caretPosition;
    descriptor: Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private final int maxLineLength;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private java.util.regex.Pattern validationPattern;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x0002) ACC_PRIVATE

  private com.googlecode.lanterna.gui2.TextBox$TextChangeListener textChangeListener;
    descriptor: Lcom/googlecode/lanterna/gui2/TextBox$TextChangeListener;
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$com$googlecode$lanterna$input$KeyType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 77
            aload 0 /* this */
            new com.googlecode.lanterna.TerminalSize
            dup
            bipush 10
            iconst_1
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            ldc ""
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.SINGLE_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            invokespecial com.googlecode.lanterna.gui2.TextBox.<init>:(Lcom/googlecode/lanterna/TerminalSize;Ljava/lang/String;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
         1: .line 78
            return
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.lang.String initialContent
         0: .line 86
            aload 0 /* this */
            aconst_null
            aload 1 /* initialContent */
            aload 1 /* initialContent */
            ldc "\n"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 1
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            goto 2
      StackMap locals: uninitialized-this java.lang.String
      StackMap stack: uninitialized-this null java.lang.String
         1: getstatic com.googlecode.lanterna.gui2.TextBox$Style.SINGLE_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
      StackMap locals: uninitialized-this java.lang.String
      StackMap stack: uninitialized-this null java.lang.String com.googlecode.lanterna.gui2.TextBox$Style
         2: invokespecial com.googlecode.lanterna.gui2.TextBox.<init>:(Lcom/googlecode/lanterna/TerminalSize;Ljava/lang/String;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
         3: .line 87
            return
        end local 1 // java.lang.String initialContent
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    4     1  initialContent  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      initialContent  

  public void <init>(java.lang.String, com.googlecode.lanterna.gui2.TextBox$Style);
    descriptor: (Ljava/lang/String;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.lang.String initialContent
        start local 2 // com.googlecode.lanterna.gui2.TextBox$Style style
         0: .line 97
            aload 0 /* this */
            aconst_null
            aload 1 /* initialContent */
            aload 2 /* style */
            invokespecial com.googlecode.lanterna.gui2.TextBox.<init>:(Lcom/googlecode/lanterna/TerminalSize;Ljava/lang/String;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
         1: .line 98
            return
        end local 2 // com.googlecode.lanterna.gui2.TextBox$Style style
        end local 1 // java.lang.String initialContent
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    2     1  initialContent  Ljava/lang/String;
            0    2     2           style  Lcom/googlecode/lanterna/gui2/TextBox$Style;
    MethodParameters:
                Name  Flags
      initialContent  
      style           

  public void <init>(com.googlecode.lanterna.TerminalSize);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // com.googlecode.lanterna.TerminalSize preferredSize
         0: .line 105
            aload 0 /* this */
            aload 1 /* preferredSize */
            aload 1 /* preferredSize */
            ifnull 1
            aload 1 /* preferredSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iconst_1
            if_icmple 1
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            goto 2
      StackMap locals: uninitialized-this com.googlecode.lanterna.TerminalSize
      StackMap stack: uninitialized-this com.googlecode.lanterna.TerminalSize
         1: getstatic com.googlecode.lanterna.gui2.TextBox$Style.SINGLE_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
      StackMap locals: uninitialized-this com.googlecode.lanterna.TerminalSize
      StackMap stack: uninitialized-this com.googlecode.lanterna.TerminalSize com.googlecode.lanterna.gui2.TextBox$Style
         2: invokespecial com.googlecode.lanterna.gui2.TextBox.<init>:(Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
         3: .line 106
            return
        end local 1 // com.googlecode.lanterna.TerminalSize preferredSize
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    4     1  preferredSize  Lcom/googlecode/lanterna/TerminalSize;
    MethodParameters:
               Name  Flags
      preferredSize  

  public void <init>(com.googlecode.lanterna.TerminalSize, com.googlecode.lanterna.gui2.TextBox$Style);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // com.googlecode.lanterna.TerminalSize preferredSize
        start local 2 // com.googlecode.lanterna.gui2.TextBox$Style style
         0: .line 114
            aload 0 /* this */
            aload 1 /* preferredSize */
            ldc ""
            aload 2 /* style */
            invokespecial com.googlecode.lanterna.gui2.TextBox.<init>:(Lcom/googlecode/lanterna/TerminalSize;Ljava/lang/String;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
         1: .line 115
            return
        end local 2 // com.googlecode.lanterna.gui2.TextBox$Style style
        end local 1 // com.googlecode.lanterna.TerminalSize preferredSize
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    2     1  preferredSize  Lcom/googlecode/lanterna/TerminalSize;
            0    2     2          style  Lcom/googlecode/lanterna/gui2/TextBox$Style;
    MethodParameters:
               Name  Flags
      preferredSize  
      style          

  public void <init>(com.googlecode.lanterna.TerminalSize, java.lang.String);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // com.googlecode.lanterna.TerminalSize preferredSize
        start local 2 // java.lang.String initialContent
         0: .line 123
            aload 0 /* this */
            aload 1 /* preferredSize */
            aload 2 /* initialContent */
            aload 1 /* preferredSize */
            ifnull 1
            aload 1 /* preferredSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iconst_1
            if_icmpgt 2
      StackMap locals: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String
      StackMap stack: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String
         1: aload 2 /* initialContent */
            ldc "\n"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 3
      StackMap locals: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String
      StackMap stack: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String
         2: getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            goto 4
      StackMap locals: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String
      StackMap stack: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String
         3: getstatic com.googlecode.lanterna.gui2.TextBox$Style.SINGLE_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
      StackMap locals: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String
      StackMap stack: uninitialized-this com.googlecode.lanterna.TerminalSize java.lang.String com.googlecode.lanterna.gui2.TextBox$Style
         4: invokespecial com.googlecode.lanterna.gui2.TextBox.<init>:(Lcom/googlecode/lanterna/TerminalSize;Ljava/lang/String;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
         5: .line 124
            return
        end local 2 // java.lang.String initialContent
        end local 1 // com.googlecode.lanterna.TerminalSize preferredSize
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    6     0            this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    6     1   preferredSize  Lcom/googlecode/lanterna/TerminalSize;
            0    6     2  initialContent  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      preferredSize   
      initialContent  

  public void <init>(com.googlecode.lanterna.TerminalSize, java.lang.String, com.googlecode.lanterna.gui2.TextBox$Style);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;Ljava/lang/String;Lcom/googlecode/lanterna/gui2/TextBox$Style;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // com.googlecode.lanterna.TerminalSize preferredSize
        start local 2 // java.lang.String initialContent
        start local 3 // com.googlecode.lanterna.gui2.TextBox$Style style
         0: .line 132
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.AbstractInteractableComponent.<init>:()V
         1: .line 133
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
         2: .line 134
            aload 0 /* this */
            aload 3 /* style */
            putfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
         3: .line 135
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.TextBox.readOnly:Z
         4: .line 136
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.TextBox.caretWarp:Z
         5: .line 137
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.TextBox.verticalFocusSwitching:Z
         6: .line 138
            aload 0 /* this */
            aload 3 /* style */
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.SINGLE_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 7
            iconst_1
            goto 8
      StackMap locals: com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.TerminalSize java.lang.String com.googlecode.lanterna.gui2.TextBox$Style
      StackMap stack: com.googlecode.lanterna.gui2.TextBox
         7: iconst_0
      StackMap locals: com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.TerminalSize java.lang.String com.googlecode.lanterna.gui2.TextBox$Style
      StackMap stack: com.googlecode.lanterna.gui2.TextBox int
         8: putfield com.googlecode.lanterna.gui2.TextBox.horizontalFocusSwitching:Z
         9: .line 139
            aload 0 /* this */
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        10: .line 140
            aload 0 /* this */
            iconst_m1
            putfield com.googlecode.lanterna.gui2.TextBox.maxLineLength:I
        11: .line 141
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
        12: .line 142
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.gui2.TextBox.mask:Ljava/lang/Character;
        13: .line 143
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.gui2.TextBox.validationPattern:Ljava/util/regex/Pattern;
        14: .line 144
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.gui2.TextBox.textChangeListener:Lcom/googlecode/lanterna/gui2/TextBox$TextChangeListener;
        15: .line 145
            aload 0 /* this */
            aload 2 /* initialContent */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.setText:(Ljava/lang/String;)Lcom/googlecode/lanterna/gui2/TextBox;
            pop
        16: .line 148
            aload 0 /* this */
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            iconst_0
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getLine:(I)Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        17: .line 150
            aload 1 /* preferredSize */
            ifnonnull 19
        18: .line 151
            new com.googlecode.lanterna.TerminalSize
            dup
            bipush 10
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            invokestatic java.lang.Math.max:(II)I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            astore 1 /* preferredSize */
        19: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* preferredSize */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.setPreferredSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        20: .line 154
            return
        end local 3 // com.googlecode.lanterna.gui2.TextBox$Style style
        end local 2 // java.lang.String initialContent
        end local 1 // com.googlecode.lanterna.TerminalSize preferredSize
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lcom/googlecode/lanterna/gui2/TextBox;
            0   21     1   preferredSize  Lcom/googlecode/lanterna/TerminalSize;
            0   21     2  initialContent  Ljava/lang/String;
            0   21     3           style  Lcom/googlecode/lanterna/gui2/TextBox$Style;
    MethodParameters:
                Name  Flags
      preferredSize   
      initialContent  
      style           

  public synchronized com.googlecode.lanterna.gui2.TextBox setValidationPattern(java.util.regex.Pattern);
    descriptor: (Ljava/util/regex/Pattern;)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.util.regex.Pattern validationPattern
         0: .line 166
            aload 1 /* validationPattern */
            ifnull 6
         1: .line 167
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: com.googlecode.lanterna.gui2.TextBox java.util.regex.Pattern top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* line */
        start local 2 // java.lang.String line
         3: .line 168
            aload 0 /* this */
            aload 2 /* line */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifne 5
         4: .line 169
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "TextBox validation pattern "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* validationPattern */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not match existing content"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String line
         5: .line 167
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 173
      StackMap locals: com.googlecode.lanterna.gui2.TextBox java.util.regex.Pattern
      StackMap stack:
            aload 0 /* this */
            aload 1 /* validationPattern */
            putfield com.googlecode.lanterna.gui2.TextBox.validationPattern:Ljava/util/regex/Pattern;
         7: .line 174
            aload 0 /* this */
            areturn
        end local 1 // java.util.regex.Pattern validationPattern
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    8     1  validationPattern  Ljava/util/regex/Pattern;
            3    5     2               line  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      validationPattern  

  public synchronized com.googlecode.lanterna.gui2.TextBox setTextChangeListener(com.googlecode.lanterna.gui2.TextBox$TextChangeListener);
    descriptor: (Lcom/googlecode/lanterna/gui2/TextBox$TextChangeListener;)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // com.googlecode.lanterna.gui2.TextBox$TextChangeListener textChangeListener
         0: .line 185
            aload 0 /* this */
            aload 1 /* textChangeListener */
            putfield com.googlecode.lanterna.gui2.TextBox.textChangeListener:Lcom/googlecode/lanterna/gui2/TextBox$TextChangeListener;
         1: .line 186
            aload 0 /* this */
            areturn
        end local 1 // com.googlecode.lanterna.gui2.TextBox$TextChangeListener textChangeListener
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    2     1  textChangeListener  Lcom/googlecode/lanterna/gui2/TextBox$TextChangeListener;
    MethodParameters:
                    Name  Flags
      textChangeListener  

  public synchronized com.googlecode.lanterna.gui2.TextBox setText(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.lang.String text
         0: .line 195
            aload 1 /* text */
            ldc "\n"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* split */
        start local 2 // java.lang.String[] split
         1: .line 196
            aload 2 /* split */
            arraylength
            ifne 3
         2: .line 197
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc ""
            aastore
            astore 2 /* split */
         3: .line 199
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         4: .line 200
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
         5: .line 201
            aload 2 /* split */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: com.googlecode.lanterna.gui2.TextBox java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         6: aload 6
            iload 4
            aaload
            astore 3 /* line */
        start local 3 // java.lang.String line
         7: .line 202
            aload 0 /* this */
            aload 3 /* line */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.addLine:(Ljava/lang/String;)Lcom/googlecode/lanterna/gui2/TextBox;
            pop
        end local 3 // java.lang.String line
         8: .line 201
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 6
        10: .line 204
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmple 12
        11: .line 205
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        12: .line 207
      StackMap locals: com.googlecode.lanterna.gui2.TextBox java.lang.String java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            if_icmple 14
        13: .line 208
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        14: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.invalidate:()V
        15: .line 211
            aload 0 /* this */
            areturn
        end local 2 // java.lang.String[] split
        end local 1 // java.lang.String text
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lcom/googlecode/lanterna/gui2/TextBox;
            0   16     1   text  Ljava/lang/String;
            1   16     2  split  [Ljava/lang/String;
            7    8     3   line  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  public com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer getRenderer();
    descriptor: ()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 216
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.AbstractInteractableComponent.getRenderer:()Lcom/googlecode/lanterna/gui2/InteractableRenderer;
            checkcast com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer
            areturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public synchronized com.googlecode.lanterna.gui2.TextBox addLine(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.lang.String line
         0: .line 225
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* bob */
        start local 2 // java.lang.StringBuilder bob
         1: .line 226
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 16
         3: .line 227
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* line */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
         4: .line 228
            iload 4 /* c */
            bipush 10
            if_icmpne 12
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 12
         5: .line 229
            aload 2 /* bob */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* string */
        start local 5 // java.lang.String string
         6: .line 230
            aload 5 /* string */
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnWidth:(Ljava/lang/String;)I
            istore 6 /* lineWidth */
        start local 6 // int lineWidth
         7: .line 231
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 5 /* string */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 232
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            iload 6 /* lineWidth */
            iconst_1
            iadd
            if_icmpge 10
         9: .line 233
            aload 0 /* this */
            iload 6 /* lineWidth */
            iconst_1
            iadd
            putfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
        10: .line 235
      StackMap locals: int java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            iload 3 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual com.googlecode.lanterna.gui2.TextBox.addLine:(Ljava/lang/String;)Lcom/googlecode/lanterna/gui2/TextBox;
            pop
        11: .line 236
            aload 0 /* this */
            areturn
        end local 6 // int lineWidth
        end local 5 // java.lang.String string
        12: .line 238
      StackMap locals:
      StackMap stack:
            iload 4 /* c */
            invokestatic java.lang.Character.isISOControl:(C)Z
            ifeq 14
        13: .line 239
            goto 15
        14: .line 242
      StackMap locals:
      StackMap stack:
            aload 2 /* bob */
            iload 4 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 4 // char c
        15: .line 226
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 1 /* line */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 3 // int i
        17: .line 244
            aload 2 /* bob */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* string */
        start local 3 // java.lang.String string
        18: .line 245
            aload 0 /* this */
            aload 3 /* string */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifne 20
        19: .line 246
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "TextBox validation pattern "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.validationPattern:Ljava/util/regex/Pattern;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not match the supplied text"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 248
      StackMap locals: com.googlecode.lanterna.gui2.TextBox java.lang.String java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 3 /* string */
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnWidth:(Ljava/lang/String;)I
            istore 4 /* lineWidth */
        start local 4 // int lineWidth
        21: .line 249
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 3 /* string */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        22: .line 250
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            iload 4 /* lineWidth */
            iconst_1
            iadd
            if_icmpge 24
        23: .line 251
            aload 0 /* this */
            iload 4 /* lineWidth */
            iconst_1
            iadd
            putfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
        24: .line 253
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.googlecode.lanterna.gui2.TextBox.fireOnTextChanged:(Z)V
        25: .line 254
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.invalidate:()V
        26: .line 255
            aload 0 /* this */
            areturn
        end local 4 // int lineWidth
        end local 3 // java.lang.String string
        end local 2 // java.lang.StringBuilder bob
        end local 1 // java.lang.String line
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       this  Lcom/googlecode/lanterna/gui2/TextBox;
            0   27     1       line  Ljava/lang/String;
            1   27     2        bob  Ljava/lang/StringBuilder;
            2   17     3          i  I
            4   15     4          c  C
            6   12     5     string  Ljava/lang/String;
            7   12     6  lineWidth  I
           18   27     3     string  Ljava/lang/String;
           21   27     4  lineWidth  I
    MethodParameters:
      Name  Flags
      line  

  public synchronized com.googlecode.lanterna.gui2.TextBox removeLine(int);
    descriptor: (I)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // int lineIndex
         0: .line 268
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.SINGLE_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 5
         1: .line 269
            iload 1 /* lineIndex */
            ifne 4
         2: .line 270
            aload 0 /* this */
            ldc ""
            invokevirtual com.googlecode.lanterna.gui2.TextBox.setText:(Ljava/lang/String;)Lcom/googlecode/lanterna/gui2/TextBox;
            pop
         3: .line 271
            aload 0 /* this */
            areturn
         4: .line 274
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot remove line "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* lineIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " from a single-line TextBox"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 278
      StackMap locals:
      StackMap stack:
            iload 1 /* lineIndex */
            iflt 6
            iload 1 /* lineIndex */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 7
         6: .line 279
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid line index for TextBox with "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " lines: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* lineIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iload 1 /* lineIndex */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         8: .line 282
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iload 1 /* lineIndex */
            if_icmpne 11
         9: .line 284
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual com.googlecode.lanterna.gui2.TextBox.setCaretPosition:(II)Lcom/googlecode/lanterna/gui2/TextBox;
            pop
        10: .line 285
            goto 13
        11: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iload 1 /* lineIndex */
            if_icmple 13
        12: .line 288
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iconst_1
            isub
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual com.googlecode.lanterna.gui2.TextBox.setCaretPosition:(II)Lcom/googlecode/lanterna/gui2/TextBox;
            pop
        13: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual com.googlecode.lanterna.gui2.TextBox.fireOnTextChanged:(Z)V
        14: .line 291
            aload 0 /* this */
            areturn
        end local 1 // int lineIndex
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lcom/googlecode/lanterna/gui2/TextBox;
            0   15     1  lineIndex  I
    MethodParameters:
           Name  Flags
      lineIndex  

  public com.googlecode.lanterna.gui2.TextBox setCaretWarp(boolean);
    descriptor: (Z)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // boolean caretWarp
         0: .line 303
            aload 0 /* this */
            iload 1 /* caretWarp */
            putfield com.googlecode.lanterna.gui2.TextBox.caretWarp:Z
         1: .line 304
            aload 0 /* this */
            areturn
        end local 1 // boolean caretWarp
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    2     1  caretWarp  Z
    MethodParameters:
           Name  Flags
      caretWarp  

  public boolean isCaretWarp();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 312
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretWarp:Z
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public com.googlecode.lanterna.TerminalPosition getCaretPosition();
    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 this
         0: .line 321
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            areturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public synchronized com.googlecode.lanterna.gui2.TextBox setCaretPosition(int);
    descriptor: (I)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // int column
         0: .line 333
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getCaretPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iload 1 /* column */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.setCaretPosition:(II)Lcom/googlecode/lanterna/gui2/TextBox;
            areturn
        end local 1 // int column
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    1     1  column  I
    MethodParameters:
        Name  Flags
      column  

  public synchronized com.googlecode.lanterna.gui2.TextBox setCaretPosition(int, int);
    descriptor: (II)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // int line
        start local 2 // int column
         0: .line 345
            iload 1 /* line */
            ifge 3
         1: .line 346
            iconst_0
            istore 1 /* line */
         2: .line 347
            goto 5
         3: .line 348
      StackMap locals:
      StackMap stack:
            iload 1 /* line */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 5
         4: .line 349
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 1 /* line */
         5: .line 351
      StackMap locals:
      StackMap stack:
            iload 2 /* column */
            ifge 8
         6: .line 352
            iconst_0
            istore 2 /* column */
         7: .line 353
            goto 10
         8: .line 354
      StackMap locals:
      StackMap stack:
            iload 2 /* column */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iload 1 /* line */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            if_icmple 10
         9: .line 355
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iload 1 /* line */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            istore 2 /* column */
        10: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iload 1 /* line */
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            iload 2 /* column */
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        11: .line 358
            aload 0 /* this */
            areturn
        end local 2 // int column
        end local 1 // int line
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lcom/googlecode/lanterna/gui2/TextBox;
            0   12     1    line  I
            0   12     2  column  I
    MethodParameters:
        Name  Flags
      line    
      column  

  public synchronized java.lang.String getText();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 367
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* bob */
        start local 1 // java.lang.StringBuilder bob
         1: .line 368
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 369
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 1 /* bob */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 368
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 371
            aload 1 /* bob */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder bob
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/googlecode/lanterna/gui2/TextBox;
            1    7     1   bob  Ljava/lang/StringBuilder;
            2    6     2     i  I

  public java.lang.String getTextOrDefault(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.lang.String defaultValueIfEmpty
         0: .line 381
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getText:()Ljava/lang/String;
            astore 2 /* text */
        start local 2 // java.lang.String text
         1: .line 382
            aload 2 /* text */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         2: .line 383
            aload 1 /* defaultValueIfEmpty */
            areturn
         3: .line 385
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* text */
            areturn
        end local 2 // java.lang.String text
        end local 1 // java.lang.String defaultValueIfEmpty
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    4     1  defaultValueIfEmpty  Ljava/lang/String;
            1    4     2                 text  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      defaultValueIfEmpty  

  public java.lang.Character getMask();
    descriptor: ()Ljava/lang/Character;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 394
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.mask:Ljava/lang/Character;
            areturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public com.googlecode.lanterna.gui2.TextBox setMask(java.lang.Character);
    descriptor: (Ljava/lang/Character;)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.lang.Character mask
         0: .line 404
            aload 1 /* mask */
            ifnull 2
            aload 1 /* mask */
            invokevirtual java.lang.Character.charValue:()C
            invokestatic com.googlecode.lanterna.TerminalTextUtils.isCharCJK:(C)Z
            ifeq 2
         1: .line 405
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot use a CJK character as a mask"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* mask */
            putfield com.googlecode.lanterna.gui2.TextBox.mask:Ljava/lang/Character;
         3: .line 408
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.invalidate:()V
         4: .line 409
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Character mask
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    5     1  mask  Ljava/lang/Character;
    MethodParameters:
      Name  Flags
      mask  

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 418
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.readOnly:Z
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public com.googlecode.lanterna.gui2.TextBox setReadOnly(boolean);
    descriptor: (Z)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // boolean readOnly
         0: .line 428
            aload 0 /* this */
            iload 1 /* readOnly */
            putfield com.googlecode.lanterna.gui2.TextBox.readOnly:Z
         1: .line 429
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.invalidate:()V
         2: .line 430
            aload 0 /* this */
            areturn
        end local 1 // boolean readOnly
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    3     1  readOnly  Z
    MethodParameters:
          Name  Flags
      readOnly  

  public boolean isVerticalFocusSwitching();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 441
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.verticalFocusSwitching:Z
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public com.googlecode.lanterna.gui2.TextBox setVerticalFocusSwitching(boolean);
    descriptor: (Z)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // boolean verticalFocusSwitching
         0: .line 453
            aload 0 /* this */
            iload 1 /* verticalFocusSwitching */
            putfield com.googlecode.lanterna.gui2.TextBox.verticalFocusSwitching:Z
         1: .line 454
            aload 0 /* this */
            areturn
        end local 1 // boolean verticalFocusSwitching
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    2     1  verticalFocusSwitching  Z
    MethodParameters:
                        Name  Flags
      verticalFocusSwitching  

  public boolean isHorizontalFocusSwitching();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 464
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.horizontalFocusSwitching:Z
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public com.googlecode.lanterna.gui2.TextBox setHorizontalFocusSwitching(boolean);
    descriptor: (Z)Lcom/googlecode/lanterna/gui2/TextBox;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // boolean horizontalFocusSwitching
         0: .line 475
            aload 0 /* this */
            iload 1 /* horizontalFocusSwitching */
            putfield com.googlecode.lanterna.gui2.TextBox.horizontalFocusSwitching:Z
         1: .line 476
            aload 0 /* this */
            areturn
        end local 1 // boolean horizontalFocusSwitching
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    2     1  horizontalFocusSwitching  Z
    MethodParameters:
                          Name  Flags
      horizontalFocusSwitching  

  public synchronized java.lang.String getLine(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // int index
         0: .line 488
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public synchronized int getLineCount();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 496
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  protected com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer createDefaultRenderer();
    descriptor: ()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 501
            new com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer
            dup
            invokespecial com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer.<init>:()V
            areturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  public synchronized com.googlecode.lanterna.gui2.Interactable$Result handleKeyStroke(com.googlecode.lanterna.input.KeyStroke);
    descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
         0: .line 506
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.readOnly:Z
            ifeq 2
         1: .line 507
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.handleKeyStrokeReadOnly:(Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         2: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* line */
        start local 2 // java.lang.String line
         3: .line 510
            iconst_0
            istore 3 /* lineWasModified */
        start local 3 // boolean lineWasModified
         4: .line 511
            aconst_null
            astore 4 /* result */
        start local 4 // com.googlecode.lanterna.gui2.Interactable$Result result
         5: .line 512
            invokestatic com.googlecode.lanterna.gui2.TextBox.$SWITCH_TABLE$com$googlecode$lanterna$input$KeyType:()[I
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.input.KeyStroke.getKeyType:()Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            iaload
            lookupswitch { // 13
                    1: 6
                    3: 14
                    4: 45
                    5: 58
                    6: 71
                    7: 80
                    9: 31
                   10: 104
                   11: 89
                   12: 114
                   13: 107
                   16: 92
                   38: 121
              default: 146
          }
         6: .line 514
      StackMap locals: java.lang.String int com.googlecode.lanterna.gui2.Interactable$Result
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.maxLineLength:I
            iconst_m1
            if_icmpeq 7
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.maxLineLength:I
            aload 2 /* line */
            invokevirtual java.lang.String.length:()I
            iconst_1
            iadd
            if_icmple 12
         7: .line 515
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* line */
            iconst_0
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.input.KeyStroke.getCharacter:()Ljava/lang/Character;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            aload 2 /* line */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* line */
         8: .line 516
            aload 0 /* this */
            aload 2 /* line */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifeq 12
         9: .line 517
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 2 /* line */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 518
            iconst_1
            istore 3 /* lineWasModified */
        11: .line 519
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        12: .line 522
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        13: .line 523
            goto 146
        14: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            ifle 21
        15: .line 526
            new java.lang.StringBuilder
            dup
            aload 2 /* line */
            iconst_0
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* line */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* line */
        16: .line 527
            aload 0 /* this */
            aload 2 /* line */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifeq 29
        17: .line 528
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 2 /* line */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 529
            iconst_1
            istore 3 /* lineWasModified */
        19: .line 530
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        20: .line 532
            goto 29
        21: .line 533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 29
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ifle 29
        22: .line 534
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* line */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* concatenatedLines */
        start local 5 // java.lang.String concatenatedLines
        23: .line 535
            aload 0 /* this */
            aload 5 /* concatenatedLines */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifeq 29
        24: .line 536
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        25: .line 537
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        26: .line 538
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        27: .line 539
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 5 /* concatenatedLines */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 540
            iconst_1
            istore 3 /* lineWasModified */
        end local 5 // java.lang.String concatenatedLines
        29: .line 543
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        30: .line 544
            goto 146
        31: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 2 /* line */
            invokevirtual java.lang.String.length:()I
            if_icmpge 37
        32: .line 547
            new java.lang.StringBuilder
            dup
            aload 2 /* line */
            iconst_0
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* line */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* line */
        33: .line 548
            aload 0 /* this */
            aload 2 /* line */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifeq 43
        34: .line 549
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 2 /* line */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 550
            iconst_1
            istore 3 /* lineWasModified */
        36: .line 552
            goto 43
        37: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 43
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpge 43
        38: .line 554
            new java.lang.StringBuilder
            dup
            aload 2 /* line */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* concatenatedLines */
        start local 5 // java.lang.String concatenatedLines
        39: .line 555
            aload 0 /* this */
            aload 5 /* concatenatedLines */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifeq 43
        40: .line 556
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 5 /* concatenatedLines */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        41: .line 557
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iconst_1
            iadd
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
        42: .line 558
            iconst_1
            istore 3 /* lineWasModified */
        end local 5 // java.lang.String concatenatedLines
        43: .line 561
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        44: .line 562
            goto 146
        45: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            ifle 48
        46: .line 565
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        47: .line 566
            goto 54
        48: .line 567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 52
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretWarp:Z
            ifeq 52
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ifle 52
        49: .line 568
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        50: .line 569
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        51: .line 570
            goto 54
        52: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.horizontalFocusSwitching:Z
            ifeq 54
        53: .line 572
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_LEFT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        54: .line 574
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            ifnonnull 55
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            goto 56
      StackMap locals:
      StackMap stack:
        55: aload 4 /* result */
      StackMap locals:
      StackMap stack: com.googlecode.lanterna.gui2.Interactable$Result
        56: astore 4 /* result */
        57: .line 575
            goto 146
        58: .line 577
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            if_icmpge 61
        59: .line 578
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        60: .line 579
            goto 67
        61: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.MULTI_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 65
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretWarp:Z
            ifeq 65
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpge 65
        62: .line 581
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        63: .line 582
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        64: .line 583
            goto 67
        65: .line 584
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.horizontalFocusSwitching:Z
            ifeq 67
        66: .line 585
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_RIGHT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        67: .line 587
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            ifnonnull 68
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            goto 69
      StackMap locals:
      StackMap stack:
        68: aload 4 /* result */
      StackMap locals:
      StackMap stack: com.googlecode.lanterna.gui2.Interactable$Result
        69: astore 4 /* result */
        70: .line 588
            goto 146
        71: .line 590
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.canMoveCaretUp:()Z
            ifeq 74
        72: .line 591
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.performMoveCaretUp:()V
        73: .line 592
            goto 76
        74: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.verticalFocusSwitching:Z
            ifeq 76
        75: .line 594
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_UP:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        76: .line 596
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            ifnonnull 77
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            goto 78
      StackMap locals:
      StackMap stack:
        77: aload 4 /* result */
      StackMap locals:
      StackMap stack: com.googlecode.lanterna.gui2.Interactable$Result
        78: astore 4 /* result */
        79: .line 597
            goto 146
        80: .line 599
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.canMoveCaretDown:()Z
            ifeq 83
        81: .line 600
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.performMoveCaretDown:()V
        82: .line 601
            goto 85
        83: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.verticalFocusSwitching:Z
            ifeq 85
        84: .line 603
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_DOWN:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        85: .line 605
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            ifnonnull 86
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            goto 87
      StackMap locals:
      StackMap stack:
        86: aload 4 /* result */
      StackMap locals:
      StackMap stack: com.googlecode.lanterna.gui2.Interactable$Result
        87: astore 4 /* result */
        88: .line 606
            goto 146
        89: .line 608
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 2 /* line */
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        90: .line 609
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        91: .line 610
            goto 146
        92: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.style:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            getstatic com.googlecode.lanterna.gui2.TextBox$Style.SINGLE_LINE:Lcom/googlecode/lanterna/gui2/TextBox$Style;
            if_acmpne 95
        93: .line 613
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_NEXT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        94: .line 614
            goto 146
        95: .line 616
      StackMap locals:
      StackMap stack:
            aload 2 /* line */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* newLine */
        start local 5 // java.lang.String newLine
        96: .line 617
            aload 2 /* line */
            iconst_0
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 6 /* oldLine */
        start local 6 // java.lang.String oldLine
        97: .line 618
            aload 0 /* this */
            aload 5 /* newLine */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifeq 102
            aload 0 /* this */
            aload 6 /* oldLine */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.validated:(Ljava/lang/String;)Z
            ifeq 102
        98: .line 619
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 6 /* oldLine */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        99: .line 620
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iconst_1
            iadd
            aload 5 /* newLine */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
       100: .line 621
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       101: .line 622
            iconst_1
            istore 3 /* lineWasModified */
       102: .line 624
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
       103: .line 625
            goto 146
        end local 6 // java.lang.String oldLine
        end local 5 // java.lang.String newLine
       104: .line 627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       105: .line 628
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
       106: .line 629
            goto 146
       107: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       108: .line 632
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmple 110
       109: .line 633
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       110: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            if_icmpge 112
       111: .line 636
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       112: .line 638
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
       113: .line 639
            goto 146
       114: .line 641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            ineg
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       115: .line 642
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ifge 117
       116: .line 643
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       117: .line 645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            if_icmpge 119
       118: .line 646
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
       119: .line 648
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
       120: .line 649
            goto 146
       121: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.isFocused:()Z
            ifne 123
       122: .line 652
            goto 146
       123: .line 654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.isMouseMove:(Lcom/googlecode/lanterna/input/KeyStroke;)Z
            ifeq 126
       124: .line 656
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.UNHANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
       125: .line 657
            goto 146
       126: .line 659
      StackMap locals:
      StackMap stack:
            aload 1 /* keyStroke */
            checkcast com.googlecode.lanterna.input.MouseAction
            astore 7 /* mouseAction */
        start local 7 // com.googlecode.lanterna.input.MouseAction mouseAction
       127: .line 660
            aload 7 /* mouseAction */
            invokevirtual com.googlecode.lanterna.input.MouseAction.getActionType:()Lcom/googlecode/lanterna/input/MouseActionType;
            astore 8 /* actionType */
        start local 8 // com.googlecode.lanterna.input.MouseActionType actionType
       128: .line 661
            aload 8 /* actionType */
            getstatic com.googlecode.lanterna.input.MouseActionType.SCROLL_UP:Lcom/googlecode/lanterna/input/MouseActionType;
            if_acmpne 132
       129: .line 662
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.canMoveCaretUp:()Z
            ifeq 145
       130: .line 663
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.performMoveCaretUp:()V
       131: .line 665
            goto 145
      StackMap locals: com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.input.KeyStroke java.lang.String int com.googlecode.lanterna.gui2.Interactable$Result top top com.googlecode.lanterna.input.MouseAction com.googlecode.lanterna.input.MouseActionType
      StackMap stack:
       132: aload 8 /* actionType */
            getstatic com.googlecode.lanterna.input.MouseActionType.SCROLL_DOWN:Lcom/googlecode/lanterna/input/MouseActionType;
            if_acmpne 136
       133: .line 666
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.canMoveCaretDown:()Z
            ifeq 145
       134: .line 667
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.performMoveCaretDown:()V
       135: .line 669
            goto 145
       136: .line 670
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            astore 9 /* offset */
        start local 9 // com.googlecode.lanterna.TerminalPosition offset
       137: .line 671
            aload 7 /* mouseAction */
            invokevirtual com.googlecode.lanterna.input.MouseAction.getPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getGlobalPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            isub
            aload 9 /* offset */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            iadd
            istore 10 /* newCaretPositionColumn */
        start local 10 // int newCaretPositionColumn
       138: .line 672
            aload 7 /* mouseAction */
            invokevirtual com.googlecode.lanterna.input.MouseAction.getPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getGlobalPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            isub
            aload 9 /* offset */
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            iadd
            istore 11 /* newCaretPositionRow */
        start local 11 // int newCaretPositionRow
       139: .line 673
            iload 11 /* newCaretPositionRow */
            iflt 145
            iload 11 /* newCaretPositionRow */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 145
       140: .line 674
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            iload 11 /* newCaretPositionRow */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* newActiveLine */
        start local 12 // java.lang.String newActiveLine
       141: .line 675
            iconst_0
            istore 13 /* minPositionAttempt */
        start local 13 // int minPositionAttempt
       142: .line 676
            aload 12 /* newActiveLine */
            invokevirtual java.lang.String.length:()I
            istore 14 /* maxPositionAttempt */
        start local 14 // int maxPositionAttempt
       143: .line 677
            iload 13 /* minPositionAttempt */
            iload 10 /* newCaretPositionColumn */
            iload 14 /* maxPositionAttempt */
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.Math.max:(II)I
            istore 10 /* newCaretPositionColumn */
       144: .line 679
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            new com.googlecode.lanterna.TerminalPosition
            dup
            iload 10 /* newCaretPositionColumn */
            iload 11 /* newCaretPositionRow */
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            invokevirtual com.googlecode.lanterna.TerminalPosition.with:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
        end local 14 // int maxPositionAttempt
        end local 13 // int minPositionAttempt
        end local 12 // java.lang.String newActiveLine
        end local 11 // int newCaretPositionRow
        end local 10 // int newCaretPositionColumn
        end local 9 // com.googlecode.lanterna.TerminalPosition offset
       145: .line 682
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
        end local 8 // com.googlecode.lanterna.input.MouseActionType actionType
        end local 7 // com.googlecode.lanterna.input.MouseAction mouseAction
       146: .line 685
      StackMap locals: com.googlecode.lanterna.gui2.TextBox com.googlecode.lanterna.input.KeyStroke java.lang.String int com.googlecode.lanterna.gui2.Interactable$Result
      StackMap stack:
            aload 4 /* result */
            ifnonnull 149
       147: .line 686
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokespecial com.googlecode.lanterna.gui2.AbstractInteractableComponent.handleKeyStroke:(Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 4 /* result */
       148: .line 687
            goto 151
       149: .line 688
      StackMap locals:
      StackMap stack:
            iload 3 /* lineWasModified */
            ifeq 151
       150: .line 689
            aload 0 /* this */
            iconst_1
            invokevirtual com.googlecode.lanterna.gui2.TextBox.fireOnTextChanged:(Z)V
       151: .line 691
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            areturn
        end local 4 // com.googlecode.lanterna.gui2.Interactable$Result result
        end local 3 // boolean lineWasModified
        end local 2 // java.lang.String line
        end local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0  152     0                    this  Lcom/googlecode/lanterna/gui2/TextBox;
            0  152     1               keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
            3  152     2                    line  Ljava/lang/String;
            4  152     3         lineWasModified  Z
            5  152     4                  result  Lcom/googlecode/lanterna/gui2/Interactable$Result;
           23   29     5       concatenatedLines  Ljava/lang/String;
           39   43     5       concatenatedLines  Ljava/lang/String;
           96  104     5                 newLine  Ljava/lang/String;
           97  104     6                 oldLine  Ljava/lang/String;
          127  146     7             mouseAction  Lcom/googlecode/lanterna/input/MouseAction;
          128  146     8              actionType  Lcom/googlecode/lanterna/input/MouseActionType;
          137  145     9                  offset  Lcom/googlecode/lanterna/TerminalPosition;
          138  145    10  newCaretPositionColumn  I
          139  145    11     newCaretPositionRow  I
          141  145    12           newActiveLine  Ljava/lang/String;
          142  145    13      minPositionAttempt  I
          143  145    14      maxPositionAttempt  I
    MethodParameters:
           Name  Flags
      keyStroke  

  private boolean canMoveCaretUp();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 695
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  private boolean canMoveCaretDown();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 698
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/googlecode/lanterna/gui2/TextBox;

  private void performMoveCaretUp();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 701
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnIndex:(Ljava/lang/String;I)I
            istore 1 /* trueColumnPosition */
        start local 1 // int trueColumnPosition
         1: .line 702
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
         2: .line 703
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* line */
        start local 2 // java.lang.String line
         3: .line 704
            iload 1 /* trueColumnPosition */
            aload 2 /* line */
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnWidth:(Ljava/lang/String;)I
            if_icmple 6
         4: .line 705
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 2 /* line */
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
         5: .line 706
            goto 7
         6: .line 707
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 2 /* line */
            iload 1 /* trueColumnPosition */
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getStringCharacterIndex:(Ljava/lang/String;I)I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
         7: .line 709
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String line
        end local 1 // int trueColumnPosition
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lcom/googlecode/lanterna/gui2/TextBox;
            1    8     1  trueColumnPosition  I
            3    8     2                line  Ljava/lang/String;

  private void performMoveCaretDown();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
         0: .line 711
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnIndex:(Ljava/lang/String;I)I
            istore 1 /* trueColumnPosition */
        start local 1 // int trueColumnPosition
         1: .line 712
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
         2: .line 713
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* line */
        start local 2 // java.lang.String line
         3: .line 714
            iload 1 /* trueColumnPosition */
            aload 2 /* line */
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getColumnWidth:(Ljava/lang/String;)I
            if_icmple 6
         4: .line 715
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 2 /* line */
            invokevirtual java.lang.String.length:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
         5: .line 716
            goto 7
         6: .line 717
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
            aload 2 /* line */
            iload 1 /* trueColumnPosition */
            invokestatic com.googlecode.lanterna.TerminalTextUtils.getStringCharacterIndex:(Ljava/lang/String;I)I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            putfield com.googlecode.lanterna.gui2.TextBox.caretPosition:Lcom/googlecode/lanterna/TerminalPosition;
         7: .line 719
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String line
        end local 1 // int trueColumnPosition
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0                this  Lcom/googlecode/lanterna/gui2/TextBox;
            1    8     1  trueColumnPosition  I
            3    8     2                line  Ljava/lang/String;

  private boolean validated(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // java.lang.String line
         0: .line 722
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.validationPattern:Ljava/util/regex/Pattern;
            ifnull 1
            aload 1 /* line */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 1
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.validationPattern:Ljava/util/regex/Pattern;
            aload 1 /* line */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.String line
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    2     1  line  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      line  

  private com.googlecode.lanterna.gui2.Interactable$Result handleKeyStrokeReadOnly(com.googlecode.lanterna.input.KeyStroke);
    descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
         0: .line 726
            invokestatic com.googlecode.lanterna.gui2.TextBox.$SWITCH_TABLE$com$googlecode$lanterna$input$KeyType:()[I
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.input.KeyStroke.getKeyType:()Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            iaload
            tableswitch { // 4 - 13
                    4: 1
                    5: 5
                    6: 9
                    7: 13
                    8: 25
                    9: 25
                   10: 17
                   11: 19
                   12: 23
                   13: 21
              default: 25
          }
         1: .line 728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            ifne 3
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.horizontalFocusSwitching:Z
            ifeq 3
         2: .line 729
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_LEFT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         3: .line 731
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
         4: .line 732
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         5: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iadd
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.longestRow:I
            if_icmpne 7
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.horizontalFocusSwitching:Z
            ifeq 7
         6: .line 735
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_RIGHT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         7: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
         8: .line 738
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         9: .line 740
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            ifne 11
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.verticalFocusSwitching:Z
            ifeq 11
        10: .line 741
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_UP:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        11: .line 743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            iconst_m1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
        12: .line 744
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        13: .line 746
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iadd
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.lines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpne 15
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.verticalFocusSwitching:Z
            ifeq 15
        14: .line 747
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_DOWN:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        15: .line 749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            iconst_1
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
        16: .line 750
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        17: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
        18: .line 753
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        19: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getLineCount:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            isub
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
        20: .line 756
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        21: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
        22: .line 759
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        23: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.getViewTopLeft:()Lcom/googlecode/lanterna/TerminalPosition;
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            ineg
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRelativeRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer.setViewTopLeft:(Lcom/googlecode/lanterna/TerminalPosition;)V
        24: .line 762
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        25: .line 765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokespecial com.googlecode.lanterna.gui2.AbstractInteractableComponent.handleKeyStroke:(Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        end local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   26     0       this  Lcom/googlecode/lanterna/gui2/TextBox;
            0   26     1  keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
    MethodParameters:
           Name  Flags
      keyStroke  

  private void fireOnTextChanged(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.TextBox this
        start local 1 // boolean initiatedByUserInteraction
         0: .line 769
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.TextBox.textChangeListener:Lcom/googlecode/lanterna/gui2/TextBox$TextChangeListener;
            astore 2 /* textChangeListener */
        start local 2 // com.googlecode.lanterna.gui2.TextBox$TextChangeListener textChangeListener
         1: .line 770
            aload 2 /* textChangeListener */
            ifnull 4
         2: .line 771
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.TextBox.getText:()Ljava/lang/String;
            astore 3 /* newText */
        start local 3 // java.lang.String newText
         3: .line 772
            aload 2 /* textChangeListener */
            aload 3 /* newText */
            iload 1 /* initiatedByUserInteraction */
            invokeinterface com.googlecode.lanterna.gui2.TextBox$TextChangeListener.onTextChanged:(Ljava/lang/String;Z)V
        end local 3 // java.lang.String newText
         4: .line 774
      StackMap locals: com.googlecode.lanterna.gui2.TextBox$TextChangeListener
      StackMap stack:
            return
        end local 2 // com.googlecode.lanterna.gui2.TextBox$TextChangeListener textChangeListener
        end local 1 // boolean initiatedByUserInteraction
        end local 0 // com.googlecode.lanterna.gui2.TextBox this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    5     0                        this  Lcom/googlecode/lanterna/gui2/TextBox;
            0    5     1  initiatedByUserInteraction  Z
            1    5     2          textChangeListener  Lcom/googlecode/lanterna/gui2/TextBox$TextChangeListener;
            3    4     3                     newText  Ljava/lang/String;
    MethodParameters:
                            Name  Flags
      initiatedByUserInteraction  

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

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

  protected com.googlecode.lanterna.gui2.InteractableRenderer createDefaultRenderer();
    descriptor: ()Lcom/googlecode/lanterna/gui2/InteractableRenderer;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.googlecode.lanterna.gui2.TextBox.createDefaultRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected com.googlecode.lanterna.gui2.ComponentRenderer createDefaultRenderer();
    descriptor: ()Lcom/googlecode/lanterna/gui2/ComponentRenderer;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual com.googlecode.lanterna.gui2.TextBox.createDefaultRenderer:()Lcom/googlecode/lanterna/gui2/TextBox$TextBoxRenderer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$com$googlecode$lanterna$input$KeyType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 41
            getstatic com.googlecode.lanterna.gui2.TextBox.$SWITCH_TABLE$com$googlecode$lanterna$input$KeyType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.googlecode.lanterna.input.KeyType.values:()[Lcom/googlecode/lanterna/input/KeyType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.ArrowDown:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 7
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.ArrowLeft:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            iconst_4
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.ArrowRight:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            iconst_5
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.ArrowUp:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 6
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Backspace:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            iconst_3
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Character:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            iconst_1
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.CursorLocation:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 37
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Delete:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 9
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.EOF:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 39
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.End:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 11
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Enter:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 16
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Escape:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            iconst_2
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F1:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 17
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F10:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 26
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F11:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 27
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F12:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 28
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F13:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 29
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F14:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 30
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F15:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 31
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F16:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 32
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F17:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 33
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F18:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 34
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F19:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 35
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F2:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 18
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F3:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 19
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F4:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 20
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F5:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 21
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F6:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 22
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F7:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 23
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F8:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 24
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.F9:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 25
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Home:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 10
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Insert:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 8
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.MouseEvent:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 38
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.PageDown:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 13
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.PageUp:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 12
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.ReverseTab:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 15
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Tab:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 14
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic com.googlecode.lanterna.input.KeyType.Unknown:Lcom/googlecode/lanterna/input/KeyType;
            invokevirtual com.googlecode.lanterna.input.KeyType.ordinal:()I
            bipush 36
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            dup
            putstatic com.googlecode.lanterna.gui2.TextBox.$SWITCH_TABLE$com$googlecode$lanterna$input$KeyType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
}
Signature: Lcom/googlecode/lanterna/gui2/AbstractInteractableComponent<Lcom/googlecode/lanterna/gui2/TextBox;>;
SourceFile: "TextBox.java"
NestMembers:
  com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer  com.googlecode.lanterna.gui2.TextBox$Style  com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer  com.googlecode.lanterna.gui2.TextBox$TextChangeListener
InnerClasses:
  public final Result = com.googlecode.lanterna.gui2.Interactable$Result of com.googlecode.lanterna.gui2.Interactable
  public DefaultTextBoxRenderer = com.googlecode.lanterna.gui2.TextBox$DefaultTextBoxRenderer of com.googlecode.lanterna.gui2.TextBox
  public final Style = com.googlecode.lanterna.gui2.TextBox$Style of com.googlecode.lanterna.gui2.TextBox
  public abstract TextBoxRenderer = com.googlecode.lanterna.gui2.TextBox$TextBoxRenderer of com.googlecode.lanterna.gui2.TextBox
  public abstract TextChangeListener = com.googlecode.lanterna.gui2.TextBox$TextChangeListener of com.googlecode.lanterna.gui2.TextBox