public class com.googlecode.lanterna.gui2.menu.MenuBar extends com.googlecode.lanterna.gui2.AbstractComponent<com.googlecode.lanterna.gui2.menu.MenuBar> implements com.googlecode.lanterna.gui2.Container
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.gui2.menu.MenuBar
  super_class: com.googlecode.lanterna.gui2.AbstractComponent
{
  private static final int EXTRA_PADDING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final java.util.List<com.googlecode.lanterna.gui2.menu.Menu> menus;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/googlecode/lanterna/gui2/menu/Menu;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
         0: .line 56
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.AbstractComponent.<init>:()V
         1: .line 57
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
         2: .line 58
            return
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;

  public com.googlecode.lanterna.gui2.menu.MenuBar add(com.googlecode.lanterna.gui2.menu.Menu);
    descriptor: (Lcom/googlecode/lanterna/gui2/menu/Menu;)Lcom/googlecode/lanterna/gui2/menu/MenuBar;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.gui2.menu.Menu menu
         0: .line 66
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* menu */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 67
            aload 1 /* menu */
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.onAdded:(Lcom/googlecode/lanterna/gui2/Container;)V
         2: .line 68
            aload 0 /* this */
            areturn
        end local 1 // com.googlecode.lanterna.gui2.menu.Menu menu
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    3     1  menu  Lcom/googlecode/lanterna/gui2/menu/Menu;
    MethodParameters:
      Name  Flags
      menu  

  public int getChildCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
         0: .line 73
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar.getMenuCount:()I
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;

  public java.util.List<com.googlecode.lanterna.gui2.Component> getChildrenList();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
         0: .line 78
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
    Signature: ()Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;

  public java.util.Collection<com.googlecode.lanterna.gui2.Component> getChildren();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
         0: .line 83
            aload 0 /* this */
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar.getChildrenList:()Ljava/util/List;
            areturn
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
    Signature: ()Ljava/util/Collection<Lcom/googlecode/lanterna/gui2/Component;>;

  public boolean containsComponent(com.googlecode.lanterna.gui2.Component);
    descriptor: (Lcom/googlecode/lanterna/gui2/Component;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.gui2.Component component
         0: .line 88
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* component */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // com.googlecode.lanterna.gui2.Component component
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    1     1  component  Lcom/googlecode/lanterna/gui2/Component;
    MethodParameters:
           Name  Flags
      component  

  public synchronized boolean removeComponent(com.googlecode.lanterna.gui2.Component);
    descriptor: (Lcom/googlecode/lanterna/gui2/Component;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.gui2.Component component
         0: .line 93
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* component */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            istore 2 /* hadMenu */
        start local 2 // boolean hadMenu
         1: .line 94
            iload 2 /* hadMenu */
            ifeq 3
         2: .line 95
            aload 1 /* component */
            aload 0 /* this */
            invokeinterface com.googlecode.lanterna.gui2.Component.onRemoved:(Lcom/googlecode/lanterna/gui2/Container;)V
         3: .line 97
      StackMap locals: int
      StackMap stack:
            iload 2 /* hadMenu */
            ireturn
        end local 2 // boolean hadMenu
        end local 1 // com.googlecode.lanterna.gui2.Component component
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    4     1  component  Lcom/googlecode/lanterna/gui2/Component;
            1    4     2    hadMenu  Z
    MethodParameters:
           Name  Flags
      component  

  public synchronized com.googlecode.lanterna.gui2.Interactable nextFocus(com.googlecode.lanterna.gui2.Interactable);
    descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;)Lcom/googlecode/lanterna/gui2/Interactable;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.gui2.Interactable fromThis
         0: .line 102
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 103
            aconst_null
            areturn
         2: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* fromThis */
            ifnonnull 4
         3: .line 106
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Interactable
            areturn
         4: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* fromThis */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 5
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* fromThis */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpne 6
         5: .line 109
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* fromThis */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Interactable
            areturn
        end local 1 // com.googlecode.lanterna.gui2.Interactable fromThis
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    7     1  fromThis  Lcom/googlecode/lanterna/gui2/Interactable;
    MethodParameters:
          Name  Flags
      fromThis  

  public com.googlecode.lanterna.gui2.Interactable previousFocus(com.googlecode.lanterna.gui2.Interactable);
    descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;)Lcom/googlecode/lanterna/gui2/Interactable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.gui2.Interactable fromThis
         0: .line 118
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 119
            aconst_null
            areturn
         2: .line 121
      StackMap locals:
      StackMap stack:
            aload 1 /* fromThis */
            ifnonnull 4
         3: .line 122
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Interactable
            areturn
         4: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* fromThis */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 5
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* fromThis */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            ifne 6
         5: .line 125
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         6: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            aload 1 /* fromThis */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Interactable
            areturn
        end local 1 // com.googlecode.lanterna.gui2.Interactable fromThis
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    7     1  fromThis  Lcom/googlecode/lanterna/gui2/Interactable;
    MethodParameters:
          Name  Flags
      fromThis  

  public boolean handleInput(com.googlecode.lanterna.input.KeyStroke);
    descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.input.KeyStroke key
         0: .line 134
            iconst_0
            ireturn
        end local 1 // com.googlecode.lanterna.input.KeyStroke key
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    1     1   key  Lcom/googlecode/lanterna/input/KeyStroke;
    MethodParameters:
      Name  Flags
      key   

  public com.googlecode.lanterna.gui2.menu.Menu getMenu(int);
    descriptor: (I)Lcom/googlecode/lanterna/gui2/menu/Menu;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // int index
         0: .line 144
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.menu.Menu
            areturn
        end local 1 // int index
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int getMenuCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
         0: .line 152
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;

  protected com.googlecode.lanterna.gui2.ComponentRenderer<com.googlecode.lanterna.gui2.menu.MenuBar> createDefaultRenderer();
    descriptor: ()Lcom/googlecode/lanterna/gui2/ComponentRenderer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
         0: .line 157
            new com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer
            dup
            aload 0 /* this */
            invokespecial com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer.<init>:(Lcom/googlecode/lanterna/gui2/menu/MenuBar;)V
            areturn
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
    Signature: ()Lcom/googlecode/lanterna/gui2/ComponentRenderer<Lcom/googlecode/lanterna/gui2/menu/MenuBar;>;

  public synchronized void updateLookupMap(com.googlecode.lanterna.gui2.InteractableLookupMap);
    descriptor: (Lcom/googlecode/lanterna/gui2/InteractableLookupMap;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.gui2.InteractableLookupMap interactableLookupMap
         0: .line 162
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar.menus:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: com.googlecode.lanterna.gui2.menu.MenuBar com.googlecode.lanterna.gui2.InteractableLookupMap top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.menu.Menu
            astore 2 /* menu */
        start local 2 // com.googlecode.lanterna.gui2.menu.Menu menu
         2: .line 163
            aload 1 /* interactableLookupMap */
            aload 2 /* menu */
            invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.add:(Lcom/googlecode/lanterna/gui2/Interactable;)V
        end local 2 // com.googlecode.lanterna.gui2.menu.Menu menu
         3: .line 162
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 165
            return
        end local 1 // com.googlecode.lanterna.gui2.InteractableLookupMap interactableLookupMap
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    5     0                   this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    5     1  interactableLookupMap  Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
            2    3     2                   menu  Lcom/googlecode/lanterna/gui2/menu/Menu;
    MethodParameters:
                       Name  Flags
      interactableLookupMap  

  public com.googlecode.lanterna.TerminalPosition toBasePane(com.googlecode.lanterna.TerminalPosition);
    descriptor: (Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
        start local 1 // com.googlecode.lanterna.TerminalPosition position
         0: .line 170
            aload 1 /* position */
            areturn
        end local 1 // com.googlecode.lanterna.TerminalPosition position
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            0    1     1  position  Lcom/googlecode/lanterna/TerminalPosition;
    MethodParameters:
          Name  Flags
      position  

  public boolean isEmptyMenuBar();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
         0: .line 174
            iconst_0
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
}
Signature: Lcom/googlecode/lanterna/gui2/AbstractComponent<Lcom/googlecode/lanterna/gui2/menu/MenuBar;>;Lcom/googlecode/lanterna/gui2/Container;
SourceFile: "MenuBar.java"
NestMembers:
  com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer
InnerClasses:
  public DefaultMenuBarRenderer = com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer of com.googlecode.lanterna.gui2.menu.MenuBar