public abstract class com.googlecode.lanterna.gui2.AbstractListBox<V, T extends com.googlecode.lanterna.gui2.AbstractListBox<V, T>> extends com.googlecode.lanterna.gui2.AbstractInteractableComponent<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.googlecode.lanterna.gui2.AbstractListBox
  super_class: com.googlecode.lanterna.gui2.AbstractInteractableComponent
{
  private final java.util.List<V> items;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<TV;>;

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

  private com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer<V, T> listItemRenderer;
    descriptor: Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer<TV;TT;>;

  protected com.googlecode.lanterna.TerminalPosition scrollOffset;
    descriptor: Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x0004) ACC_PROTECTED

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

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 49
            aload 0 /* this */
            aconst_null
            invokespecial com.googlecode.lanterna.gui2.AbstractListBox.<init>:(Lcom/googlecode/lanterna/TerminalSize;)V
         1: .line 50
            return
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;

  protected void <init>(com.googlecode.lanterna.TerminalSize);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // com.googlecode.lanterna.TerminalSize size
         0: .line 61
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.AbstractInteractableComponent.<init>:()V
         1: .line 42
            aload 0 /* this */
            new com.googlecode.lanterna.TerminalPosition
            dup
            iconst_0
            iconst_0
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            putfield com.googlecode.lanterna.gui2.AbstractListBox.scrollOffset:Lcom/googlecode/lanterna/TerminalPosition;
         2: .line 62
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
         3: .line 63
            aload 0 /* this */
            iconst_m1
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         4: .line 64
            aload 0 /* this */
            aload 1 /* size */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.setPreferredSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
         5: .line 65
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.createDefaultListItemRenderer:()Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.setListItemRenderer:(Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;)Lcom/googlecode/lanterna/gui2/AbstractListBox;
            pop
         6: .line 66
            return
        end local 1 // com.googlecode.lanterna.TerminalSize size
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    7     1  size  Lcom/googlecode/lanterna/TerminalSize;
    MethodParameters:
      Name  Flags
      size  

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

  protected com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer<V, T> createDefaultListItemRenderer();
    descriptor: ()Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 80
            new com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer
            dup
            invokespecial com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer.<init>:()V
            areturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
    Signature: ()Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer<TV;TT;>;

  com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer<V, T> getListItemRenderer();
    descriptor: ()Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 84
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.listItemRenderer:Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;
            areturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
    Signature: ()Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer<TV;TT;>;

  public synchronized T setListItemRenderer(com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer<V, T>);
    descriptor: (Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;)Lcom/googlecode/lanterna/gui2/AbstractListBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer listItemRenderer
         0: .line 94
            aload 1 /* listItemRenderer */
            ifnonnull 4
         1: .line 95
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.createDefaultListItemRenderer:()Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;
            astore 1 /* listItemRenderer */
         2: .line 96
            aload 1 /* listItemRenderer */
            ifnonnull 4
         3: .line 97
            new java.lang.IllegalStateException
            dup
            ldc "createDefaultListItemRenderer returned null"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* listItemRenderer */
            putfield com.googlecode.lanterna.gui2.AbstractListBox.listItemRenderer:Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer;
         5: .line 101
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.self:()Lcom/googlecode/lanterna/gui2/Component;
            checkcast com.googlecode.lanterna.gui2.AbstractListBox
            areturn
        end local 1 // com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer listItemRenderer
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    6     1  listItemRenderer  Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer<TV;TT;>;
    Signature: (Lcom/googlecode/lanterna/gui2/AbstractListBox$ListItemRenderer<TV;TT;>;)TT;
    MethodParameters:
                  Name  Flags
      listItemRenderer  

  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=3, locals=6, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
         0: .line 107
            invokestatic com.googlecode.lanterna.gui2.AbstractListBox.$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 { // 12
                    1: 47
                    4: 10
                    5: 7
                    6: 21
                    7: 13
                   10: 29
                   11: 33
                   12: 37
                   13: 42
                   14: 1
                   15: 4
                   38: 54
              default: 80
          }
         1: .line 109
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_NEXT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
         2: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
         3: .line 109
            aload 5
            areturn
         4: .line 112
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_PREVIOUS:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
         5: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
         6: .line 112
            aload 5
            areturn
         7: .line 115
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_RIGHT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
         8: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
         9: .line 115
            aload 5
            areturn
        10: .line 118
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_LEFT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        11: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        12: .line 118
            aload 5
            areturn
        13: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 14
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpne 17
        14: .line 122
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_DOWN:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        15: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        16: .line 122
            aload 5
            areturn
        17: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            iconst_1
            iadd
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
        18: .line 125
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        19: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        20: .line 125
            aload 5
            areturn
        21: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 22
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            ifne 25
        22: .line 129
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_UP:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        23: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        24: .line 129
            aload 5
            areturn
        25: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            iconst_1
            isub
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
        26: .line 132
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        27: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        28: .line 132
            aload 5
            areturn
        29: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
        30: .line 136
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        31: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        32: .line 136
            aload 5
            areturn
        33: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
        34: .line 140
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        35: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        36: .line 140
            aload 5
            areturn
        37: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            ifnull 39
        38: .line 144
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSelectedIndex:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            isub
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.setSelectedIndex:(I)Lcom/googlecode/lanterna/gui2/AbstractListBox;
            pop
        39: .line 146
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        40: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        41: .line 146
            aload 5
            areturn
        42: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            ifnull 44
        43: .line 150
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSelectedIndex:()I
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iadd
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.setSelectedIndex:(I)Lcom/googlecode/lanterna/gui2/AbstractListBox;
            pop
        44: .line 152
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        45: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        46: .line 152
            aload 5
            areturn
        47: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.input.KeyStroke.getCharacter:()Ljava/lang/Character;
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.selectByCharacter:(Ljava/lang/Character;)Z
            ifeq 51
        48: .line 156
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        49: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        50: .line 156
            aload 5
            areturn
        51: .line 158
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.UNHANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        52: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        53: .line 158
            aload 5
            areturn
        54: .line 160
      StackMap locals:
      StackMap stack:
            aload 1 /* keyStroke */
            checkcast com.googlecode.lanterna.input.MouseAction
            astore 2 /* mouseAction */
        start local 2 // com.googlecode.lanterna.input.MouseAction mouseAction
        55: .line 161
            aload 2 /* mouseAction */
            invokevirtual com.googlecode.lanterna.input.MouseAction.getActionType:()Lcom/googlecode/lanterna/input/MouseActionType;
            astore 3 /* actionType */
        start local 3 // com.googlecode.lanterna.input.MouseActionType actionType
        56: .line 162
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.isMouseMove:(Lcom/googlecode/lanterna/input/KeyStroke;)Z
            ifeq 62
        57: .line 163
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.takeFocus:()Lcom/googlecode/lanterna/gui2/AbstractInteractableComponent;
            pop
        58: .line 164
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* mouseAction */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getIndexByMouseAction:(Lcom/googlecode/lanterna/input/MouseAction;)I
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
        59: .line 165
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        60: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        61: .line 165
            aload 5
            areturn
        62: .line 168
      StackMap locals: com.googlecode.lanterna.input.MouseAction com.googlecode.lanterna.input.MouseActionType
      StackMap stack:
            aload 3 /* actionType */
            getstatic com.googlecode.lanterna.input.MouseActionType.CLICK_RELEASE:Lcom/googlecode/lanterna/input/MouseActionType;
            if_acmpne 66
        63: .line 170
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        64: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        65: .line 170
            aload 5
            areturn
        66: .line 171
      StackMap locals:
      StackMap stack:
            aload 3 /* actionType */
            getstatic com.googlecode.lanterna.input.MouseActionType.SCROLL_UP:Lcom/googlecode/lanterna/input/MouseActionType;
            if_acmpne 71
        67: .line 173
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSelectedIndex:()I
            iconst_1
            isub
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.setSelectedIndex:(I)Lcom/googlecode/lanterna/gui2/AbstractListBox;
            pop
        68: .line 174
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        69: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        70: .line 174
            aload 5
            areturn
        71: .line 175
      StackMap locals:
      StackMap stack:
            aload 3 /* actionType */
            getstatic com.googlecode.lanterna.input.MouseActionType.SCROLL_DOWN:Lcom/googlecode/lanterna/input/MouseActionType;
            if_acmpne 76
        72: .line 177
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSelectedIndex:()I
            iconst_1
            iadd
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.setSelectedIndex:(I)Lcom/googlecode/lanterna/gui2/AbstractListBox;
            pop
        73: .line 178
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        74: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        75: .line 178
            aload 5
            areturn
        76: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* mouseAction */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getIndexByMouseAction:(Lcom/googlecode/lanterna/input/MouseAction;)I
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
        77: .line 182
            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 5
        78: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        79: .line 182
            aload 5
            areturn
        end local 3 // com.googlecode.lanterna.input.MouseActionType actionType
        end local 2 // com.googlecode.lanterna.input.MouseAction mouseAction
        80: .line 185
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.UNHANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            astore 5
        81: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        82: .line 185
            aload 5
            areturn
        83: .line 187
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        84: .line 188
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
        85: .line 189
            aload 4
            athrow
        end local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   86     0         this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0   86     1    keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
           55   80     2  mouseAction  Lcom/googlecode/lanterna/input/MouseAction;
           56   80     3   actionType  Lcom/googlecode/lanterna/input/MouseActionType;
      Exception table:
        from    to  target  type
           0     2      83  any
           4     5      83  any
           7     8      83  any
          10    11      83  any
          13    15      83  any
          17    19      83  any
          21    23      83  any
          25    27      83  any
          29    31      83  any
          33    35      83  any
          37    40      83  any
          42    45      83  any
          47    49      83  any
          51    52      83  any
          54    60      83  any
          62    64      83  any
          66    69      83  any
          71    74      83  any
          76    78      83  any
          80    81      83  any
    MethodParameters:
           Name  Flags
      keyStroke  

  protected int getIndexByMouseAction(com.googlecode.lanterna.input.MouseAction);
    descriptor: (Lcom/googlecode/lanterna/input/MouseAction;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // com.googlecode.lanterna.input.MouseAction click
         0: .line 199
            aload 1 /* click */
            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.AbstractListBox.getGlobalPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            isub
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.scrollOffset:Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
            isub
            istore 2 /* index */
        start local 2 // int index
         1: .line 201
            iload 2 /* index */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            ireturn
        end local 2 // int index
        end local 1 // com.googlecode.lanterna.input.MouseAction click
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    2     1  click  Lcom/googlecode/lanterna/input/MouseAction;
            1    2     2  index  I
    MethodParameters:
       Name  Flags
      click  

  private boolean selectByCharacter(java.lang.Character);
    descriptor: (Ljava/lang/Character;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // java.lang.Character character
         0: .line 205
            aload 1 /* character */
            invokevirtual java.lang.Character.charValue:()C
            invokestatic java.lang.Character.toLowerCase:(C)C
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            astore 1 /* character */
         1: .line 207
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getSelectedIndex:()I
            istore 2 /* selectedIndex */
        start local 2 // int selectedIndex
         2: .line 208
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 15
         4: .line 209
      StackMap locals: int int
      StackMap stack:
            iload 2 /* selectedIndex */
            iload 3 /* i */
            iadd
            iconst_1
            iadd
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getItemCount:()I
            irem
            istore 4 /* index */
        start local 4 // int index
         5: .line 210
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getItemAt:(I)Ljava/lang/Object;
            astore 5 /* item */
        start local 5 // java.lang.Object item
         6: .line 211
            aload 5 /* item */
            ifnull 7
            aload 5 /* item */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 8
      StackMap locals: int java.lang.Object
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 6 /* label */
        start local 6 // java.lang.String label
         9: .line 212
            aload 6 /* label */
            ifnull 14
            aload 6 /* label */
            invokevirtual java.lang.String.length:()I
            ifle 14
        10: .line 213
            aload 6 /* label */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toLowerCase:(C)C
            istore 7 /* firstChar */
        start local 7 // char firstChar
        11: .line 214
            iload 7 /* firstChar */
            aload 1 /* character */
            invokevirtual java.lang.Character.charValue:()C
            if_icmpne 14
        12: .line 215
            aload 0 /* this */
            iload 4 /* index */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.setSelectedIndex:(I)Lcom/googlecode/lanterna/gui2/AbstractListBox;
            pop
        13: .line 216
            iconst_1
            ireturn
        end local 7 // char firstChar
        end local 6 // java.lang.String label
        end local 5 // java.lang.Object item
        end local 4 // int index
        14: .line 208
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.getItemCount:()I
            if_icmplt 4
        end local 3 // int i
        16: .line 221
            iconst_0
            ireturn
        end local 2 // int selectedIndex
        end local 1 // java.lang.Character character
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0   17     1      character  Ljava/lang/Character;
            2   17     2  selectedIndex  I
            3   16     3              i  I
            5   14     4          index  I
            6   14     5           item  TV;
            9   14     6          label  Ljava/lang/String;
           11   14     7      firstChar  C
    MethodParameters:
           Name  Flags
      character  

  protected synchronized void afterEnterFocus(com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection, com.googlecode.lanterna.gui2.Interactable);
    descriptor: (Lcom/googlecode/lanterna/gui2/Interactable$FocusChangeDirection;Lcom/googlecode/lanterna/gui2/Interactable;)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection direction
        start local 2 // com.googlecode.lanterna.gui2.Interactable previouslyInFocus
         0: .line 226
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 227
            return
         2: .line 230
      StackMap locals:
      StackMap stack:
            aload 1 /* direction */
            getstatic com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection.DOWN:Lcom/googlecode/lanterna/gui2/Interactable$FocusChangeDirection;
            if_acmpne 5
         3: .line 231
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         4: .line 232
            goto 7
         5: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* direction */
            getstatic com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection.UP:Lcom/googlecode/lanterna/gui2/Interactable$FocusChangeDirection;
            if_acmpne 7
         6: .line 234
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         7: .line 236
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.googlecode.lanterna.gui2.Interactable previouslyInFocus
        end local 1 // com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection direction
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    8     1          direction  Lcom/googlecode/lanterna/gui2/Interactable$FocusChangeDirection;
            0    8     2  previouslyInFocus  Lcom/googlecode/lanterna/gui2/Interactable;
    MethodParameters:
                   Name  Flags
      direction          
      previouslyInFocus  

  public synchronized T addItem();
    descriptor: (Ljava/lang/Object;)Lcom/googlecode/lanterna/gui2/AbstractListBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // java.lang.Object item
         0: .line 244
            aload 1 /* item */
            ifnonnull 2
         1: .line 245
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.self:()Lcom/googlecode/lanterna/gui2/Component;
            checkcast com.googlecode.lanterna.gui2.AbstractListBox
            areturn
         2: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            aload 1 /* item */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 249
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            iconst_m1
            if_icmpne 5
         4: .line 250
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         5: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
         6: .line 253
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.self:()Lcom/googlecode/lanterna/gui2/Component;
            checkcast com.googlecode.lanterna.gui2.AbstractListBox
            areturn
        end local 1 // java.lang.Object item
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    7     1  item  TV;
    Signature: (TV;)TT;
    MethodParameters:
      Name  Flags
      item  

  public synchronized V removeItem();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // int index
         0: .line 264
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            astore 2 /* existing */
        start local 2 // java.lang.Object existing
         1: .line 265
            iload 1 /* index */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            if_icmpge 5
         2: .line 266
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            iconst_1
            isub
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         3: .line 268
            goto 5
         4: .line 269
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            iconst_1
            isub
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         5: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 4
         6: .line 271
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
         7: .line 272
            aload 2 /* existing */
            areturn
        end local 2 // java.lang.Object existing
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    8     1     index  I
            1    8     2  existing  TV;
    Signature: (I)TV;
    MethodParameters:
       Name  Flags
      index  

  public synchronized T clearItems();
    descriptor: ()Lcom/googlecode/lanterna/gui2/AbstractListBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 280
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 281
            aload 0 /* this */
            iconst_m1
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         2: .line 282
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
         3: .line 283
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.self:()Lcom/googlecode/lanterna/gui2/Component;
            checkcast com.googlecode.lanterna.gui2.AbstractListBox
            areturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
    Signature: ()TT;

  public boolean isFocusable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 288
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.isEmpty:()Z
            ifeq 2
         1: .line 290
            iconst_0
            ireturn
         2: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.AbstractInteractableComponent.isFocusable:()Z
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;

  public synchronized int indexOf();
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // java.lang.Object item
         0: .line 302
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            aload 1 /* item */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            ireturn
        end local 1 // java.lang.Object item
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    1     1  item  TV;
    Signature: (TV;)I
    MethodParameters:
      Name  Flags
      item  

  public synchronized V getItemAt();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // int index
         0: .line 313
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            areturn
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    1     1  index  I
    Signature: (I)TV;
    MethodParameters:
       Name  Flags
      index  

  public synchronized boolean isEmpty();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 321
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;

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

  public synchronized java.util.List<V> getItems();
    descriptor: ()Ljava/util/List;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 337
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
    Signature: ()Ljava/util/List<TV;>;

  public synchronized T setSelectedIndex();
    descriptor: (I)Lcom/googlecode/lanterna/gui2/AbstractListBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
        start local 1 // int index
         0: .line 349
            aload 0 /* this */
            iconst_0
            iload 1 /* index */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.Math.max:(II)I
            putfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
         1: .line 351
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.invalidate:()V
         2: .line 352
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.AbstractListBox.self:()Lcom/googlecode/lanterna/gui2/Component;
            checkcast com.googlecode.lanterna.gui2.AbstractListBox
            areturn
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
            0    3     1  index  I
    Signature: (I)TT;
    MethodParameters:
       Name  Flags
      index  

  public int getSelectedIndex();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 362
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;

  public synchronized V getSelectedItem();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
         0: .line 372
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            iconst_m1
            if_icmpne 2
         1: .line 373
            aconst_null
            areturn
         2: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.items:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.AbstractListBox.selectedIndex:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            areturn
        end local 0 // com.googlecode.lanterna.gui2.AbstractListBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;
    Signature: ()TV;

  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.AbstractListBox.createDefaultRenderer:()Lcom/googlecode/lanterna/gui2/InteractableRenderer;
            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 38
            getstatic com.googlecode.lanterna.gui2.AbstractListBox.$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.AbstractListBox.$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: <V:Ljava/lang/Object;T:Lcom/googlecode/lanterna/gui2/AbstractListBox<TV;TT;>;>Lcom/googlecode/lanterna/gui2/AbstractInteractableComponent<TT;>;
SourceFile: "AbstractListBox.java"
NestMembers:
  com.googlecode.lanterna.gui2.AbstractListBox$DefaultListBoxRenderer  com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer
InnerClasses:
  public DefaultListBoxRenderer = com.googlecode.lanterna.gui2.AbstractListBox$DefaultListBoxRenderer of com.googlecode.lanterna.gui2.AbstractListBox
  public ListItemRenderer = com.googlecode.lanterna.gui2.AbstractListBox$ListItemRenderer of com.googlecode.lanterna.gui2.AbstractListBox
  public final FocusChangeDirection = com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection of com.googlecode.lanterna.gui2.Interactable
  public final Result = com.googlecode.lanterna.gui2.Interactable$Result of com.googlecode.lanterna.gui2.Interactable