public class com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer implements com.googlecode.lanterna.gui2.ComponentRenderer<com.googlecode.lanterna.gui2.menu.MenuBar>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer
  super_class: java.lang.Object
{
  final com.googlecode.lanterna.gui2.menu.MenuBar this$0;
    descriptor: Lcom/googlecode/lanterna/gui2/menu/MenuBar;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(com.googlecode.lanterna.gui2.menu.MenuBar);
    descriptor: (Lcom/googlecode/lanterna/gui2/menu/MenuBar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer this
         0: .line 180
            aload 0 /* this */
            aload 1
            putfield com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer.this$0:Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/menu/MenuBar$DefaultMenuBarRenderer;
    MethodParameters:
        Name  Flags
      this$0  final

  public com.googlecode.lanterna.TerminalSize getPreferredSize(com.googlecode.lanterna.gui2.menu.MenuBar);
    descriptor: (Lcom/googlecode/lanterna/gui2/menu/MenuBar;)Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer this
        start local 1 // com.googlecode.lanterna.gui2.menu.MenuBar menuBar
         0: .line 183
            iconst_1
            istore 2 /* maxHeight */
        start local 2 // int maxHeight
         1: .line 184
            iconst_0
            istore 3 /* totalWidth */
        start local 3 // int totalWidth
         2: .line 185
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 9
         4: .line 186
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* menuBar */
            iload 4 /* i */
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar.getMenu:(I)Lcom/googlecode/lanterna/gui2/menu/Menu;
            astore 5 /* menu */
        start local 5 // com.googlecode.lanterna.gui2.menu.Menu menu
         5: .line 187
            aload 5 /* menu */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            astore 6 /* preferredSize */
        start local 6 // com.googlecode.lanterna.TerminalSize preferredSize
         6: .line 188
            iload 2 /* maxHeight */
            aload 6 /* preferredSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* maxHeight */
         7: .line 189
            iload 3 /* totalWidth */
            aload 6 /* preferredSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iadd
            istore 3 /* totalWidth */
        end local 6 // com.googlecode.lanterna.TerminalSize preferredSize
        end local 5 // com.googlecode.lanterna.gui2.menu.Menu menu
         8: .line 185
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 1 /* menuBar */
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar.getMenuCount:()I
            if_icmplt 4
        end local 4 // int i
        10: .line 191
            iinc 3 /* totalWidth */ 0
        11: .line 192
            new com.googlecode.lanterna.TerminalSize
            dup
            iload 3 /* totalWidth */
            iload 2 /* maxHeight */
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            areturn
        end local 3 // int totalWidth
        end local 2 // int maxHeight
        end local 1 // com.googlecode.lanterna.gui2.menu.MenuBar menuBar
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lcom/googlecode/lanterna/gui2/menu/MenuBar$DefaultMenuBarRenderer;
            0   12     1        menuBar  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            1   12     2      maxHeight  I
            2   12     3     totalWidth  I
            3   10     4              i  I
            5    8     5           menu  Lcom/googlecode/lanterna/gui2/menu/Menu;
            6    8     6  preferredSize  Lcom/googlecode/lanterna/TerminalSize;
    MethodParameters:
         Name  Flags
      menuBar  

  public void drawComponent(com.googlecode.lanterna.gui2.TextGUIGraphics, com.googlecode.lanterna.gui2.menu.MenuBar);
    descriptor: (Lcom/googlecode/lanterna/gui2/TextGUIGraphics;Lcom/googlecode/lanterna/gui2/menu/MenuBar;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer this
        start local 1 // com.googlecode.lanterna.gui2.TextGUIGraphics graphics
        start local 2 // com.googlecode.lanterna.gui2.menu.MenuBar menuBar
         0: .line 198
            aload 1 /* graphics */
            aload 0 /* this */
            getfield com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer.this$0:Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar.getThemeDefinition:()Lcom/googlecode/lanterna/graphics/ThemeDefinition;
            invokeinterface com.googlecode.lanterna.graphics.ThemeDefinition.getNormal:()Lcom/googlecode/lanterna/graphics/ThemeStyle;
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.applyThemeStyle:(Lcom/googlecode/lanterna/graphics/ThemeStyle;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
         1: .line 199
            aload 1 /* graphics */
            bipush 32
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.fill:(C)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            pop
         2: .line 201
            iconst_0
            istore 3 /* leftPosition */
        start local 3 // int leftPosition
         3: .line 202
            aload 1 /* graphics */
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            astore 4 /* size */
        start local 4 // com.googlecode.lanterna.TerminalSize size
         4: .line 203
            aload 4 /* size */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iconst_0
            isub
            istore 5 /* remainingSpace */
        start local 5 // int remainingSpace
         5: .line 204
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 23
         7: .line 205
      StackMap locals: com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer com.googlecode.lanterna.gui2.TextGUIGraphics com.googlecode.lanterna.gui2.menu.MenuBar int com.googlecode.lanterna.TerminalSize int int
      StackMap stack:
            aload 2 /* menuBar */
            iload 6 /* i */
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar.getMenu:(I)Lcom/googlecode/lanterna/gui2/menu/Menu;
            astore 7 /* menu */
        start local 7 // com.googlecode.lanterna.gui2.menu.Menu menu
         8: .line 206
            aload 7 /* menu */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            astore 8 /* preferredSize */
        start local 8 // com.googlecode.lanterna.TerminalSize preferredSize
         9: .line 207
            aload 7 /* menu */
            aload 7 /* menu */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.getPosition:()Lcom/googlecode/lanterna/TerminalPosition;
        10: .line 208
            iload 3 /* leftPosition */
            invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
        11: .line 209
            iconst_0
            invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
        12: .line 207
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        13: .line 210
            aload 8 /* preferredSize */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iload 5 /* remainingSpace */
            invokestatic java.lang.Math.min:(II)I
            istore 9 /* finalWidth */
        start local 9 // int finalWidth
        14: .line 211
            aload 7 /* menu */
            aload 7 /* menu */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.getSize:()Lcom/googlecode/lanterna/TerminalSize;
        15: .line 212
            iload 9 /* finalWidth */
            invokevirtual com.googlecode.lanterna.TerminalSize.withColumns:(I)Lcom/googlecode/lanterna/TerminalSize;
        16: .line 213
            aload 4 /* size */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            invokevirtual com.googlecode.lanterna.TerminalSize.withRows:(I)Lcom/googlecode/lanterna/TerminalSize;
        17: .line 211
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.setSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        18: .line 214
            iload 5 /* remainingSpace */
            iload 9 /* finalWidth */
            iconst_0
            iadd
            isub
            istore 5 /* remainingSpace */
        19: .line 215
            iload 3 /* leftPosition */
            iload 9 /* finalWidth */
            iconst_0
            iadd
            iadd
            istore 3 /* leftPosition */
        20: .line 216
            aload 1 /* graphics */
            aload 7 /* menu */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.getPosition:()Lcom/googlecode/lanterna/TerminalPosition;
            aload 7 /* menu */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.getSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokeinterface com.googlecode.lanterna.gui2.TextGUIGraphics.newTextGraphics:(Lcom/googlecode/lanterna/TerminalPosition;Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            astore 10 /* componentGraphics */
        start local 10 // com.googlecode.lanterna.gui2.TextGUIGraphics componentGraphics
        21: .line 217
            aload 7 /* menu */
            aload 10 /* componentGraphics */
            invokevirtual com.googlecode.lanterna.gui2.menu.Menu.draw:(Lcom/googlecode/lanterna/gui2/TextGUIGraphics;)V
        end local 10 // com.googlecode.lanterna.gui2.TextGUIGraphics componentGraphics
        end local 9 // int finalWidth
        end local 8 // com.googlecode.lanterna.TerminalSize preferredSize
        end local 7 // com.googlecode.lanterna.gui2.menu.Menu menu
        22: .line 204
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            aload 2 /* menuBar */
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar.getMenuCount:()I
            if_icmpge 24
            iload 5 /* remainingSpace */
            ifgt 7
        end local 6 // int i
        24: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int remainingSpace
        end local 4 // com.googlecode.lanterna.TerminalSize size
        end local 3 // int leftPosition
        end local 2 // com.googlecode.lanterna.gui2.menu.MenuBar menuBar
        end local 1 // com.googlecode.lanterna.gui2.TextGUIGraphics graphics
        end local 0 // com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lcom/googlecode/lanterna/gui2/menu/MenuBar$DefaultMenuBarRenderer;
            0   25     1           graphics  Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
            0   25     2            menuBar  Lcom/googlecode/lanterna/gui2/menu/MenuBar;
            3   25     3       leftPosition  I
            4   25     4               size  Lcom/googlecode/lanterna/TerminalSize;
            5   25     5     remainingSpace  I
            6   24     6                  i  I
            8   22     7               menu  Lcom/googlecode/lanterna/gui2/menu/Menu;
            9   22     8      preferredSize  Lcom/googlecode/lanterna/TerminalSize;
           14   22     9         finalWidth  I
           21   22    10  componentGraphics  Lcom/googlecode/lanterna/gui2/TextGUIGraphics;
    MethodParameters:
          Name  Flags
      graphics  
      menuBar   

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

  public com.googlecode.lanterna.TerminalSize getPreferredSize(com.googlecode.lanterna.gui2.Component);
    descriptor: (Lcom/googlecode/lanterna/gui2/Component;)Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast com.googlecode.lanterna.gui2.menu.MenuBar
            invokevirtual com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer.getPreferredSize:(Lcom/googlecode/lanterna/gui2/menu/MenuBar;)Lcom/googlecode/lanterna/TerminalSize;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lcom/googlecode/lanterna/gui2/ComponentRenderer<Lcom/googlecode/lanterna/gui2/menu/MenuBar;>;
SourceFile: "MenuBar.java"
NestHost: com.googlecode.lanterna.gui2.menu.MenuBar
InnerClasses:
  public DefaultMenuBarRenderer = com.googlecode.lanterna.gui2.menu.MenuBar$DefaultMenuBarRenderer of com.googlecode.lanterna.gui2.menu.MenuBar