public class com.googlecode.lanterna.gui2.ComboBox<V> extends com.googlecode.lanterna.gui2.AbstractInteractableComponent<com.googlecode.lanterna.gui2.ComboBox<V>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.gui2.ComboBox
  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 final java.util.List<com.googlecode.lanterna.gui2.ComboBox$Listener> listeners;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/googlecode/lanterna/gui2/ComboBox$Listener;>;

  private com.googlecode.lanterna.gui2.ComboBox<V>.PopupWindow popupWindow;
    descriptor: Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/googlecode/lanterna/gui2/ComboBox<TV;>.PopupWindow;

  private java.lang.String text;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private int dropDownNumberOfRows;
    descriptor: I
    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: ([Ljava/lang/Object;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.lang.Object[] items
         0: .line 82
            aload 0 /* this */
            aload 1 /* items */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial com.googlecode.lanterna.gui2.ComboBox.<init>:(Ljava/util/Collection;)V
         1: .line 83
            return
        end local 1 // java.lang.Object[] items
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    2     1  items  [Ljava/lang/Object;
    Signature: ([TV;)V
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
       Name  Flags
      items  

  public void <init>(java.util.Collection<V>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.util.Collection items
         0: .line 92
            aload 0 /* this */
            aload 1 /* items */
            aload 1 /* items */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            iconst_m1
            goto 2
      StackMap locals: uninitialized-this java.util.Collection
      StackMap stack: uninitialized-this java.util.Collection
         1: iconst_0
      StackMap locals: uninitialized-this java.util.Collection
      StackMap stack: uninitialized-this java.util.Collection int
         2: invokespecial com.googlecode.lanterna.gui2.ComboBox.<init>:(Ljava/util/Collection;I)V
         3: .line 93
            return
        end local 1 // java.util.Collection items
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    4     1  items  Ljava/util/Collection<TV;>;
    Signature: (Ljava/util/Collection<TV;>;)V
    MethodParameters:
       Name  Flags
      items  

  public void <init>(java.lang.String, java.util.Collection<V>);
    descriptor: (Ljava/lang/String;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.lang.String initialText
        start local 2 // java.util.Collection items
         0: .line 106
            aload 0 /* this */
            aload 2 /* items */
            iconst_m1
            invokespecial com.googlecode.lanterna.gui2.ComboBox.<init>:(Ljava/util/Collection;I)V
         1: .line 107
            aload 0 /* this */
            aload 1 /* initialText */
            putfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
         2: .line 108
            return
        end local 2 // java.util.Collection items
        end local 1 // java.lang.String initialText
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    3     1  initialText  Ljava/lang/String;
            0    3     2        items  Ljava/util/Collection<TV;>;
    Signature: (Ljava/lang/String;Ljava/util/Collection<TV;>;)V
    MethodParameters:
             Name  Flags
      initialText  
      items        

  public void <init>(java.util.Collection<V>, );
    descriptor: (Ljava/util/Collection;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.util.Collection items
        start local 2 // int selectedIndex
         0: .line 117
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.AbstractInteractableComponent.<init>:()V
         1: .line 118
            aload 1 /* items */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: com.googlecode.lanterna.gui2.ComboBox java.util.Collection int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Object
            astore 3 /* item */
        start local 3 // java.lang.Object item
         3: .line 119
            aload 3 /* item */
            ifnonnull 5
         4: .line 120
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot add null elements to a ComboBox"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object item
         5: .line 118
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 123
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* items */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
         7: .line 124
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield com.googlecode.lanterna.gui2.ComboBox.listeners:Ljava/util/List;
         8: .line 125
            aload 0 /* this */
            aconst_null
            putfield com.googlecode.lanterna.gui2.ComboBox.popupWindow:Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
         9: .line 126
            aload 0 /* this */
            iload 2 /* selectedIndex */
            putfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
        10: .line 127
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.ComboBox.readOnly:Z
        11: .line 128
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownFocused:Z
        12: .line 129
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
        13: .line 130
            aload 0 /* this */
            bipush 10
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownNumberOfRows:I
        14: .line 131
            iload 2 /* selectedIndex */
            iconst_m1
            if_icmpeq 17
        15: .line 132
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            iload 2 /* selectedIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            putfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
        16: .line 133
            goto 18
        17: .line 135
      StackMap locals: com.googlecode.lanterna.gui2.ComboBox java.util.Collection int
      StackMap stack:
            aload 0 /* this */
            ldc ""
            putfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
        18: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int selectedIndex
        end local 1 // java.util.Collection items
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0   19     1          items  Ljava/util/Collection<TV;>;
            0   19     2  selectedIndex  I
            3    5     3           item  TV;
    Signature: (Ljava/util/Collection<TV;>;I)V
    MethodParameters:
               Name  Flags
      items          
      selectedIndex  

  public synchronized com.googlecode.lanterna.gui2.ComboBox<V> addItem(V);
    descriptor: (Ljava/lang/Object;)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.lang.Object item
         0: .line 145
            aload 1 /* item */
            ifnonnull 2
         1: .line 146
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot add null elements to a ComboBox"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            aload 1 /* item */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 149
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            iconst_m1
            if_icmpne 5
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 5
         4: .line 150
            aload 0 /* this */
            iconst_0
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(I)V
         5: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.invalidate:()V
         6: .line 153
            aload 0 /* this */
            areturn
        end local 1 // java.lang.Object item
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    7     1  item  TV;
    Signature: (TV;)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
      Name  Flags
      item  

  public synchronized com.googlecode.lanterna.gui2.ComboBox<V> addItem(int, V);
    descriptor: (ILjava/lang/Object;)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // int index
        start local 2 // java.lang.Object item
         0: .line 163
            aload 2 /* item */
            ifnonnull 2
         1: .line 164
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot add null elements to a ComboBox"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            iload 1 /* index */
            aload 2 /* item */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
         3: .line 167
            iload 1 /* index */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            if_icmpgt 5
         4: .line 168
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            iconst_1
            iadd
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(I)V
         5: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.invalidate:()V
         6: .line 171
            aload 0 /* this */
            areturn
        end local 2 // java.lang.Object item
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    7     1  index  I
            0    7     2   item  TV;
    Signature: (ITV;)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
       Name  Flags
      index  
      item   

  public synchronized com.googlecode.lanterna.gui2.ComboBox<V> clearItems();
    descriptor: ()Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
         0: .line 179
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
         1: .line 180
            aload 0 /* this */
            iconst_m1
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(I)V
         2: .line 181
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.invalidate:()V
         3: .line 182
            aload 0 /* this */
            areturn
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    Signature: ()Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;

  public synchronized com.googlecode.lanterna.gui2.ComboBox<V> removeItem(V);
    descriptor: (Ljava/lang/Object;)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.lang.Object item
         0: .line 191
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            aload 1 /* item */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 192
            iload 2 /* index */
            iconst_m1
            if_icmpne 3
         2: .line 193
            aload 0 /* this */
            areturn
         3: .line 195
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* index */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.removeItem:(I)Lcom/googlecode/lanterna/gui2/ComboBox;
            areturn
        end local 2 // int index
        end local 1 // java.lang.Object item
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    4     1   item  TV;
            1    4     2  index  I
    Signature: (TV;)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
      Name  Flags
      item  

  public synchronized com.googlecode.lanterna.gui2.ComboBox<V> removeItem(int);
    descriptor: (I)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // int index
         0: .line 205
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         1: .line 206
            iload 1 /* index */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            if_icmpge 4
         2: .line 207
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            iconst_1
            isub
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(I)V
         3: .line 208
            goto 6
         4: .line 209
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            if_icmpne 6
         5: .line 210
            aload 0 /* this */
            iconst_m1
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(I)V
         6: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.invalidate:()V
         7: .line 213
            aload 0 /* this */
            areturn
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    8     1  index  I
    Signature: (I)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
       Name  Flags
      index  

  public synchronized com.googlecode.lanterna.gui2.ComboBox<V> setItem(int, V);
    descriptor: (ILjava/lang/Object;)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // int index
        start local 2 // java.lang.Object item
         0: .line 224
            aload 2 /* item */
            ifnonnull 2
         1: .line 225
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot add null elements to a ComboBox"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 227
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            iload 1 /* index */
            aload 2 /* item */
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 228
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.invalidate:()V
         4: .line 229
            aload 0 /* this */
            areturn
        end local 2 // java.lang.Object item
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    5     1  index  I
            0    5     2   item  TV;
    Signature: (ITV;)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
       Name  Flags
      index  
      item   

  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.ComboBox this
         0: .line 237
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;

  public synchronized V getItem();
    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.ComboBox this
        start local 1 // int index
         0: .line 247
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.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.ComboBox this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    1     1  index  I
    Signature: (I)TV;
    MethodParameters:
       Name  Flags
      index  

  public java.lang.String getText();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
         0: .line 256
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            areturn
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;

  public synchronized com.googlecode.lanterna.gui2.ComboBox<V> setReadOnly(boolean);
    descriptor: (Z)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // boolean readOnly
         0: .line 268
            aload 0 /* this */
            iload 1 /* readOnly */
            putfield com.googlecode.lanterna.gui2.ComboBox.readOnly:Z
         1: .line 269
            iload 1 /* readOnly */
            ifeq 3
         2: .line 270
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownFocused:Z
         3: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // boolean readOnly
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    4     1  readOnly  Z
    Signature: (Z)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
          Name  Flags
      readOnly  

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

  public boolean isDropDownFocused();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
         0: .line 290
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.dropDownFocused:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.isReadOnly:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;

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

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

  public void setDropDownNumberOfRows(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // int dropDownNumberOfRows
         0: .line 324
            aload 0 /* this */
            iload 1 /* dropDownNumberOfRows */
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownNumberOfRows:I
         1: .line 325
            return
        end local 1 // int dropDownNumberOfRows
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    2     1  dropDownNumberOfRows  I
    MethodParameters:
                      Name  Flags
      dropDownNumberOfRows  

  public void setSelectedIndex(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // int selectedIndex
         0: .line 334
            aload 0 /* this */
            iload 1 /* selectedIndex */
            iconst_0
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(IZ)V
         1: .line 335
            return
        end local 1 // int selectedIndex
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    2     1  selectedIndex  I
    MethodParameters:
               Name  Flags
      selectedIndex  final

  private synchronized void setSelectedIndex(int, boolean);
    descriptor: (IZ)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // int selectedIndex
        start local 2 // boolean changedByUserInteraction
         0: .line 338
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iload 1 /* selectedIndex */
            if_icmple 1
            iload 1 /* selectedIndex */
            iconst_m1
            if_icmpge 2
         1: .line 339
      StackMap locals:
      StackMap stack:
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Illegal argument to ComboBox.setSelectedIndex: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* selectedIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            istore 3 /* oldSelection */
        start local 3 // int oldSelection
         3: .line 342
            aload 0 /* this */
            iload 1 /* selectedIndex */
            putfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
         4: .line 343
            iload 1 /* selectedIndex */
            iconst_m1
            if_icmpne 7
         5: .line 344
            aload 0 /* this */
            ldc ""
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.updateText:(Ljava/lang/String;)V
         6: .line 345
            goto 8
         7: .line 347
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            iload 1 /* selectedIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.updateText:(Ljava/lang/String;)V
         8: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* selectedIndex */
            iload 3 /* oldSelection */
            iload 2 /* changedByUserInteraction */
            invokedynamic run(Lcom/googlecode/lanterna/gui2/ComboBox;IIZ)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  com/googlecode/lanterna/gui2/ComboBox.lambda$0(IIZ)V (7)
                  ()V
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.runOnGUIThreadIfExistsOtherwiseRunDirect:(Ljava/lang/Runnable;)V
         9: .line 354
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.invalidate:()V
        10: .line 355
            return
        end local 3 // int oldSelection
        end local 2 // boolean changedByUserInteraction
        end local 1 // int selectedIndex
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   11     0                      this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0   11     1             selectedIndex  I
            0   11     2  changedByUserInteraction  Z
            3   11     3              oldSelection  I
    MethodParameters:
                          Name  Flags
      selectedIndex             final
      changedByUserInteraction  final

  public synchronized void setSelectedItem();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.lang.Object item
         0: .line 366
            aload 1 /* item */
            ifnonnull 3
         1: .line 367
            aload 0 /* this */
            iconst_m1
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(I)V
         2: .line 368
            goto 9
         3: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            aload 1 /* item */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 2 /* indexOf */
        start local 2 // int indexOf
         4: .line 371
            iload 2 /* indexOf */
            iconst_m1
            if_icmpeq 7
         5: .line 372
            aload 0 /* this */
            iload 2 /* indexOf */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(I)V
         6: .line 373
            goto 9
         7: .line 374
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.readOnly:Z
            ifne 9
         8: .line 375
            aload 0 /* this */
            aload 1 /* item */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.updateText:(Ljava/lang/String;)V
        end local 2 // int indexOf
         9: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object item
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0   10     1     item  TV;
            4    9     2  indexOf  I
    Signature: (TV;)V
    MethodParameters:
      Name  Flags
      item  final

  private void updateText(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // java.lang.String newText
         0: .line 381
            aload 0 /* this */
            aload 1 /* newText */
            putfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
         1: .line 382
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmple 3
         2: .line 383
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            putfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
         3: .line 385
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String newText
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    4     1  newText  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      newText  

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

  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.ComboBox this
         0: .line 403
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.getSelectedIndex:()I
            iconst_m1
            if_icmple 1
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.getSelectedIndex:()I
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.getItem:(I)Ljava/lang/Object;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Object
         2: areturn
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    Signature: ()TV;

  public com.googlecode.lanterna.gui2.ComboBox<V> addListener(com.googlecode.lanterna.gui2.ComboBox$Listener);
    descriptor: (Lcom/googlecode/lanterna/gui2/ComboBox$Listener;)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.gui2.ComboBox$Listener listener
         0: .line 412
            aload 1 /* listener */
            ifnull 2
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.listeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 413
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.listeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // com.googlecode.lanterna.gui2.ComboBox$Listener listener
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    3     1  listener  Lcom/googlecode/lanterna/gui2/ComboBox$Listener;
    Signature: (Lcom/googlecode/lanterna/gui2/ComboBox$Listener;)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
          Name  Flags
      listener  

  public com.googlecode.lanterna.gui2.ComboBox<V> removeListener(com.googlecode.lanterna.gui2.ComboBox$Listener);
    descriptor: (Lcom/googlecode/lanterna/gui2/ComboBox$Listener;)Lcom/googlecode/lanterna/gui2/ComboBox;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.gui2.ComboBox$Listener listener
         0: .line 425
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.listeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 426
            aload 0 /* this */
            areturn
        end local 1 // com.googlecode.lanterna.gui2.ComboBox$Listener listener
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    2     1  listener  Lcom/googlecode/lanterna/gui2/ComboBox$Listener;
    Signature: (Lcom/googlecode/lanterna/gui2/ComboBox$Listener;)Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    MethodParameters:
          Name  Flags
      listener  

  protected 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: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection direction
        start local 2 // com.googlecode.lanterna.gui2.Interactable previouslyInFocus
         0: .line 431
            aload 1 /* direction */
            getstatic com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection.RIGHT:Lcom/googlecode/lanterna/gui2/Interactable$FocusChangeDirection;
            if_acmpne 3
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.isReadOnly:()Z
            ifne 3
         1: .line 432
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownFocused:Z
         2: .line 433
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
         3: .line 435
      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.ComboBox this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    4     1          direction  Lcom/googlecode/lanterna/gui2/Interactable$FocusChangeDirection;
            0    4     2  previouslyInFocus  Lcom/googlecode/lanterna/gui2/Interactable;
    MethodParameters:
                   Name  Flags
      direction          
      previouslyInFocus  

  protected synchronized void afterLeaveFocus(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=1, locals=3, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection direction
        start local 2 // com.googlecode.lanterna.gui2.Interactable nextInFocus
         0: .line 439
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.popupWindow:Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
            ifnull 2
         1: .line 440
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.popupWindow:Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
            invokevirtual com.googlecode.lanterna.gui2.ComboBox$PopupWindow.close:()V
         2: .line 442
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.googlecode.lanterna.gui2.Interactable nextInFocus
        end local 1 // com.googlecode.lanterna.gui2.Interactable$FocusChangeDirection direction
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    3     1    direction  Lcom/googlecode/lanterna/gui2/Interactable$FocusChangeDirection;
            0    3     2  nextInFocus  Lcom/googlecode/lanterna/gui2/Interactable;
    MethodParameters:
             Name  Flags
      direction    
      nextInFocus  

  protected com.googlecode.lanterna.gui2.InteractableRenderer<com.googlecode.lanterna.gui2.ComboBox<V>> 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.ComboBox this
         0: .line 446
            new com.googlecode.lanterna.gui2.ComboBox$DefaultComboBoxRenderer
            dup
            invokespecial com.googlecode.lanterna.gui2.ComboBox$DefaultComboBoxRenderer.<init>:()V
            areturn
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
    Signature: ()Lcom/googlecode/lanterna/gui2/InteractableRenderer<Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;>;

  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=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
         0: .line 451
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.isReadOnly:()Z
            ifeq 2
         1: .line 452
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.handleReadOnlyCBKeyStroke:(Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         2: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.handleEditableCBKeyStroke:(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.ComboBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    3     1  keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
    MethodParameters:
           Name  Flags
      keyStroke  

  private com.googlecode.lanterna.gui2.Interactable$Result handleReadOnlyCBKeyStroke(com.googlecode.lanterna.input.KeyStroke);
    descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
         0: .line 460
            invokestatic com.googlecode.lanterna.gui2.ComboBox.$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 { // 3
                    1: 1
                   16: 1
                   38: 4
              default: 6
          }
         1: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.isKeyboardActivationStroke:(Lcom/googlecode/lanterna/input/KeyStroke;)Z
            ifeq 3
         2: .line 464
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.showPopup:(Lcom/googlecode/lanterna/input/KeyStroke;)V
         3: .line 466
      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
         4: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.isMouseActivationStroke:(Lcom/googlecode/lanterna/input/KeyStroke;)Z
            ifeq 6
         5: .line 470
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.showPopup:(Lcom/googlecode/lanterna/input/KeyStroke;)V
         6: .line 476
      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.ComboBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    7     1  keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
    MethodParameters:
           Name  Flags
      keyStroke  

  protected void showPopup(com.googlecode.lanterna.input.KeyStroke);
    descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
         0: .line 480
            aload 0 /* this */
            new com.googlecode.lanterna.gui2.ComboBox$PopupWindow
            dup
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.ComboBox$PopupWindow.<init>:(Lcom/googlecode/lanterna/gui2/ComboBox;)V
            putfield com.googlecode.lanterna.gui2.ComboBox.popupWindow:Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
         1: .line 481
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.popupWindow:Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
            aload 0 /* this */
            new com.googlecode.lanterna.TerminalPosition
            dup
            iconst_0
            iconst_1
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.toGlobal:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
            invokevirtual com.googlecode.lanterna.gui2.ComboBox$PopupWindow.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)V
         2: .line 482
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.getTextGUI:()Lcom/googlecode/lanterna/gui2/TextGUI;
            checkcast com.googlecode.lanterna.gui2.WindowBasedTextGUI
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.popupWindow:Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
            invokeinterface com.googlecode.lanterna.gui2.WindowBasedTextGUI.addWindow:(Lcom/googlecode/lanterna/gui2/Window;)Lcom/googlecode/lanterna/gui2/WindowBasedTextGUI;
            pop
         3: .line 483
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.getTextGUI:()Lcom/googlecode/lanterna/gui2/TextGUI;
            checkcast com.googlecode.lanterna.gui2.WindowBasedTextGUI
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.popupWindow:Lcom/googlecode/lanterna/gui2/ComboBox$PopupWindow;
            invokeinterface com.googlecode.lanterna.gui2.WindowBasedTextGUI.setActiveWindow:(Lcom/googlecode/lanterna/gui2/Window;)Lcom/googlecode/lanterna/gui2/WindowBasedTextGUI;
            pop
         4: .line 484
            return
        end local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0    5     1  keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
    MethodParameters:
           Name  Flags
      keyStroke  

  private com.googlecode.lanterna.gui2.Interactable$Result handleEditableCBKeyStroke(com.googlecode.lanterna.input.KeyStroke);
    descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
        start local 1 // com.googlecode.lanterna.input.KeyStroke keyStroke
         0: .line 488
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.isDropDownFocused:()Z
            ifeq 6
         1: .line 489
            invokestatic com.googlecode.lanterna.gui2.ComboBox.$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 { // 2
                    4: 2
                   15: 2
              default: 5
          }
         2: .line 492
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownFocused:Z
         3: .line 493
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            putfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
         4: .line 494
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         5: .line 498
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keyStroke */
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.handleReadOnlyCBKeyStroke:(Lcom/googlecode/lanterna/input/KeyStroke;)Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
         6: .line 502
      StackMap locals:
      StackMap stack:
            invokestatic com.googlecode.lanterna.gui2.ComboBox.$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 { // 1 - 14
                    1: 7
                    2: 36
                    3: 12
                    4: 19
                    5: 24
                    6: 33
                    7: 30
                    8: 36
                    9: 16
                   10: 36
                   11: 36
                   12: 36
                   13: 36
                   14: 10
              default: 36
          }
         7: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition: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 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition: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;
            putfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
         8: .line 505
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            iconst_1
            iadd
            putfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
         9: .line 506
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        10: .line 509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownFocused:Z
        11: .line 510
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        12: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            ifle 15
        13: .line 514
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition: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 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition: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;
            putfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
        14: .line 515
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            iconst_1
            isub
            putfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
        15: .line 517
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        16: .line 520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 18
        17: .line 521
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition: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 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition: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;
            putfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
        18: .line 523
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        19: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            ifle 22
        20: .line 527
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            iconst_1
            isub
            putfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
        21: .line 528
            goto 23
        22: .line 530
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.MOVE_FOCUS_LEFT:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        23: .line 532
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        24: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.text:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 27
        25: .line 536
            aload 0 /* this */
            dup
            getfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
            iconst_1
            iadd
            putfield com.googlecode.lanterna.gui2.ComboBox.textInputPosition:I
        26: .line 537
            goto 29
        27: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.googlecode.lanterna.gui2.ComboBox.dropDownFocused:Z
        28: .line 540
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        29: .line 542
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        30: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.items:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpge 32
        31: .line 546
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            iconst_1
            iadd
            iconst_1
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(IZ)V
        32: .line 548
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        33: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            ifle 35
        34: .line 552
            aload 0 /* this */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.selectedIndex:I
            iconst_1
            isub
            iconst_1
            invokevirtual com.googlecode.lanterna.gui2.ComboBox.setSelectedIndex:(IZ)V
        35: .line 554
      StackMap locals:
      StackMap stack:
            getstatic com.googlecode.lanterna.gui2.Interactable$Result.HANDLED:Lcom/googlecode/lanterna/gui2/Interactable$Result;
            areturn
        36: .line 558
      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.ComboBox this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   37     0       this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            0   37     1  keyStroke  Lcom/googlecode/lanterna/input/KeyStroke;
    MethodParameters:
           Name  Flags
      keyStroke  

  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.ComboBox.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 45
            getstatic com.googlecode.lanterna.gui2.ComboBox.$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.ComboBox.$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

  private void lambda$0(int, int, boolean);
    descriptor: (IIZ)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.googlecode.lanterna.gui2.ComboBox this
         0: .line 350
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.ComboBox.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 3
      StackMap locals: com.googlecode.lanterna.gui2.ComboBox int int int top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.ComboBox$Listener
            astore 4 /* listener */
        start local 4 // com.googlecode.lanterna.gui2.ComboBox$Listener listener
         2: .line 351
            aload 4 /* listener */
            iload 1
            iload 2
            iload 3
            invokeinterface com.googlecode.lanterna.gui2.ComboBox$Listener.onSelectionChanged:(IIZ)V
        end local 4 // com.googlecode.lanterna.gui2.ComboBox$Listener listener
         3: .line 350
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 353
            return
        end local 0 // com.googlecode.lanterna.gui2.ComboBox this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;
            2    3     4  listener  Lcom/googlecode/lanterna/gui2/ComboBox$Listener;
}
Signature: <V:Ljava/lang/Object;>Lcom/googlecode/lanterna/gui2/AbstractInteractableComponent<Lcom/googlecode/lanterna/gui2/ComboBox<TV;>;>;
SourceFile: "ComboBox.java"
NestMembers:
  com.googlecode.lanterna.gui2.ComboBox$ComboBoxRenderer  com.googlecode.lanterna.gui2.ComboBox$DefaultComboBoxRenderer  com.googlecode.lanterna.gui2.ComboBox$Listener  com.googlecode.lanterna.gui2.ComboBox$PopupWindow
InnerClasses:
  public abstract ComboBoxRenderer = com.googlecode.lanterna.gui2.ComboBox$ComboBoxRenderer of com.googlecode.lanterna.gui2.ComboBox
  public DefaultComboBoxRenderer = com.googlecode.lanterna.gui2.ComboBox$DefaultComboBoxRenderer of com.googlecode.lanterna.gui2.ComboBox
  public abstract Listener = com.googlecode.lanterna.gui2.ComboBox$Listener of com.googlecode.lanterna.gui2.ComboBox
  private PopupWindow = com.googlecode.lanterna.gui2.ComboBox$PopupWindow of com.googlecode.lanterna.gui2.ComboBox
  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
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles