public class com.googlecode.lanterna.gui2.BorderLayout implements com.googlecode.lanterna.gui2.LayoutManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.googlecode.lanterna.gui2.BorderLayout
  super_class: java.lang.Object
{
  private static final java.util.List<com.googlecode.lanterna.gui2.BorderLayout$Location> AUTO_ASSIGN_ORDER;
    descriptor: Ljava/util/List;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/List<Lcom/googlecode/lanterna/gui2/BorderLayout$Location;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 72
            iconst_5
            anewarray com.googlecode.lanterna.gui2.BorderLayout$Location
            dup
            iconst_0
         1: .line 73
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.CENTER:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            aastore
            dup
            iconst_1
         2: .line 74
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.TOP:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            aastore
            dup
            iconst_2
         3: .line 75
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.BOTTOM:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            aastore
            dup
            iconst_3
         4: .line 76
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.LEFT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            aastore
            dup
            iconst_4
         5: .line 77
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.RIGHT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            aastore
         6: .line 72
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putstatic com.googlecode.lanterna.gui2.BorderLayout.AUTO_ASSIGN_ORDER:Ljava/util/List;
         7: .line 77
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.BorderLayout this
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.googlecode.lanterna.gui2.BorderLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/BorderLayout;

  public com.googlecode.lanterna.TerminalSize getPreferredSize(java.util.List<com.googlecode.lanterna.gui2.Component>);
    descriptor: (Ljava/util/List;)Lcom/googlecode/lanterna/TerminalSize;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.BorderLayout this
        start local 1 // java.util.List components
         0: .line 81
            aload 0 /* this */
            aload 1 /* components */
            invokevirtual com.googlecode.lanterna.gui2.BorderLayout.makeLookupMap:(Ljava/util/List;)Ljava/util/EnumMap;
            astore 2 /* layout */
        start local 2 // java.util.EnumMap layout
         1: .line 83
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.TOP:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.TOP:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            goto 3
      StackMap locals: java.util.EnumMap
      StackMap stack:
         2: iconst_0
         3: .line 86
      StackMap locals:
      StackMap stack: int
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.LEFT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.LEFT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            goto 5
      StackMap locals:
      StackMap stack: int
         4: iconst_0
         5: .line 88
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap
      StackMap stack: int int
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.CENTER:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 6
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.CENTER:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            goto 7
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap
      StackMap stack: int int
         6: iconst_0
         7: .line 89
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap
      StackMap stack: int int int
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.RIGHT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 8
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.RIGHT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            goto 9
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap
      StackMap stack: int int int
         8: iconst_0
         9: .line 87
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap
      StackMap stack: int int int int
            invokestatic java.lang.Math.max:(II)I
        10: .line 85
            invokestatic java.lang.Math.max:(II)I
        11: .line 83
            iadd
        12: .line 91
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.BOTTOM:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 13
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.BOTTOM:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            goto 14
      StackMap locals:
      StackMap stack: int
        13: iconst_0
        14: .line 83
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap
      StackMap stack: int int
            iadd
        15: .line 82
            istore 3 /* preferredHeight */
        start local 3 // int preferredHeight
        16: .line 95
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.LEFT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 17
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.LEFT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            goto 18
      StackMap locals: int
      StackMap stack:
        17: iconst_0
        18: .line 96
      StackMap locals:
      StackMap stack: int
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.CENTER:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 19
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.CENTER:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            goto 20
      StackMap locals:
      StackMap stack: int
        19: iconst_0
        20: .line 95
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap int
      StackMap stack: int int
            iadd
        21: .line 97
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.RIGHT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 22
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.RIGHT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            goto 23
      StackMap locals:
      StackMap stack: int
        22: iconst_0
        23: .line 95
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap int
      StackMap stack: int int
            iadd
        24: .line 99
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.TOP:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 25
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.TOP:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            goto 26
      StackMap locals:
      StackMap stack: int
        25: iconst_0
        26: .line 100
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap int
      StackMap stack: int int
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.BOTTOM:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 27
            aload 2 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.BOTTOM:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            goto 28
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap int
      StackMap stack: int int
        27: iconst_0
        28: .line 98
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap int
      StackMap stack: int int int
            invokestatic java.lang.Math.max:(II)I
        29: .line 94
            invokestatic java.lang.Math.max:(II)I
        30: .line 93
            istore 4 /* preferredWidth */
        start local 4 // int preferredWidth
        31: .line 101
            new com.googlecode.lanterna.TerminalSize
            dup
            iload 4 /* preferredWidth */
            iload 3 /* preferredHeight */
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            areturn
        end local 4 // int preferredWidth
        end local 3 // int preferredHeight
        end local 2 // java.util.EnumMap layout
        end local 1 // java.util.List components
        end local 0 // com.googlecode.lanterna.gui2.BorderLayout this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0             this  Lcom/googlecode/lanterna/gui2/BorderLayout;
            0   32     1       components  Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;
            1   32     2           layout  Ljava/util/EnumMap<Lcom/googlecode/lanterna/gui2/BorderLayout$Location;Lcom/googlecode/lanterna/gui2/Component;>;
           16   32     3  preferredHeight  I
           31   32     4   preferredWidth  I
    Signature: (Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;)Lcom/googlecode/lanterna/TerminalSize;
    MethodParameters:
            Name  Flags
      components  

  public void doLayout(com.googlecode.lanterna.TerminalSize, java.util.List<com.googlecode.lanterna.gui2.Component>);
    descriptor: (Lcom/googlecode/lanterna/TerminalSize;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // com.googlecode.lanterna.gui2.BorderLayout this
        start local 1 // com.googlecode.lanterna.TerminalSize area
        start local 2 // java.util.List components
         0: .line 106
            aload 0 /* this */
            aload 2 /* components */
            invokevirtual com.googlecode.lanterna.gui2.BorderLayout.makeLookupMap:(Ljava/util/List;)Ljava/util/EnumMap;
            astore 3 /* layout */
        start local 3 // java.util.EnumMap layout
         1: .line 107
            aload 1 /* area */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            istore 4 /* availableHorizontalSpace */
        start local 4 // int availableHorizontalSpace
         2: .line 108
            aload 1 /* area */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            istore 5 /* availableVerticalSpace */
        start local 5 // int availableVerticalSpace
         3: .line 111
            iconst_0
            istore 6 /* topComponentHeight */
        start local 6 // int topComponentHeight
         4: .line 112
            iconst_0
            istore 7 /* leftComponentWidth */
        start local 7 // int leftComponentWidth
         5: .line 115
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.TOP:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 11
         6: .line 116
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.TOP:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 8 /* topComponent */
        start local 8 // com.googlecode.lanterna.gui2.Component topComponent
         7: .line 117
            aload 8 /* topComponent */
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iload 5 /* availableVerticalSpace */
            invokestatic java.lang.Math.min:(II)I
            istore 6 /* topComponentHeight */
         8: .line 118
            aload 8 /* topComponent */
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.Component.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Component;
            pop
         9: .line 119
            aload 8 /* topComponent */
            new com.googlecode.lanterna.TerminalSize
            dup
            iload 4 /* availableHorizontalSpace */
            iload 6 /* topComponentHeight */
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        10: .line 120
            iload 5 /* availableVerticalSpace */
            iload 6 /* topComponentHeight */
            isub
            istore 5 /* availableVerticalSpace */
        end local 8 // com.googlecode.lanterna.gui2.Component topComponent
        11: .line 124
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout com.googlecode.lanterna.TerminalSize java.util.List java.util.EnumMap int int int int
      StackMap stack:
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.BOTTOM:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 17
        12: .line 125
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.BOTTOM:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 8 /* bottomComponent */
        start local 8 // com.googlecode.lanterna.gui2.Component bottomComponent
        13: .line 126
            aload 8 /* bottomComponent */
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iload 5 /* availableVerticalSpace */
            invokestatic java.lang.Math.min:(II)I
            istore 9 /* bottomComponentHeight */
        start local 9 // int bottomComponentHeight
        14: .line 127
            aload 8 /* bottomComponent */
            new com.googlecode.lanterna.TerminalPosition
            dup
            iconst_0
            aload 1 /* area */
            invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
            iload 9 /* bottomComponentHeight */
            isub
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        15: .line 128
            aload 8 /* bottomComponent */
            new com.googlecode.lanterna.TerminalSize
            dup
            iload 4 /* availableHorizontalSpace */
            iload 9 /* bottomComponentHeight */
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        16: .line 129
            iload 5 /* availableVerticalSpace */
            iload 9 /* bottomComponentHeight */
            isub
            istore 5 /* availableVerticalSpace */
        end local 9 // int bottomComponentHeight
        end local 8 // com.googlecode.lanterna.gui2.Component bottomComponent
        17: .line 133
      StackMap locals:
      StackMap stack:
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.LEFT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 23
        18: .line 134
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.LEFT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 8 /* leftComponent */
        start local 8 // com.googlecode.lanterna.gui2.Component leftComponent
        19: .line 135
            aload 8 /* leftComponent */
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iload 4 /* availableHorizontalSpace */
            invokestatic java.lang.Math.min:(II)I
            istore 7 /* leftComponentWidth */
        20: .line 136
            aload 8 /* leftComponent */
            new com.googlecode.lanterna.TerminalPosition
            dup
            iconst_0
            iload 6 /* topComponentHeight */
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        21: .line 137
            aload 8 /* leftComponent */
            new com.googlecode.lanterna.TerminalSize
            dup
            iload 7 /* leftComponentWidth */
            iload 5 /* availableVerticalSpace */
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        22: .line 138
            iload 4 /* availableHorizontalSpace */
            iload 7 /* leftComponentWidth */
            isub
            istore 4 /* availableHorizontalSpace */
        end local 8 // com.googlecode.lanterna.gui2.Component leftComponent
        23: .line 140
      StackMap locals:
      StackMap stack:
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.RIGHT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 29
        24: .line 141
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.RIGHT:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 8 /* rightComponent */
        start local 8 // com.googlecode.lanterna.gui2.Component rightComponent
        25: .line 142
            aload 8 /* rightComponent */
            invokeinterface com.googlecode.lanterna.gui2.Component.getPreferredSize:()Lcom/googlecode/lanterna/TerminalSize;
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iload 4 /* availableHorizontalSpace */
            invokestatic java.lang.Math.min:(II)I
            istore 9 /* rightComponentWidth */
        start local 9 // int rightComponentWidth
        26: .line 143
            aload 8 /* rightComponent */
            new com.googlecode.lanterna.TerminalPosition
            dup
            aload 1 /* area */
            invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
            iload 9 /* rightComponentWidth */
            isub
            iload 6 /* topComponentHeight */
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        27: .line 144
            aload 8 /* rightComponent */
            new com.googlecode.lanterna.TerminalSize
            dup
            iload 9 /* rightComponentWidth */
            iload 5 /* availableVerticalSpace */
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        28: .line 145
            iload 4 /* availableHorizontalSpace */
            iload 9 /* rightComponentWidth */
            isub
            istore 4 /* availableHorizontalSpace */
        end local 9 // int rightComponentWidth
        end local 8 // com.googlecode.lanterna.gui2.Component rightComponent
        29: .line 147
      StackMap locals:
      StackMap stack:
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.CENTER:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 33
        30: .line 148
            aload 3 /* layout */
            getstatic com.googlecode.lanterna.gui2.BorderLayout$Location.CENTER:Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 8 /* centerComponent */
        start local 8 // com.googlecode.lanterna.gui2.Component centerComponent
        31: .line 149
            aload 8 /* centerComponent */
            new com.googlecode.lanterna.TerminalPosition
            dup
            iload 7 /* leftComponentWidth */
            iload 6 /* topComponentHeight */
            invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        32: .line 150
            aload 8 /* centerComponent */
            new com.googlecode.lanterna.TerminalSize
            dup
            iload 4 /* availableHorizontalSpace */
            iload 5 /* availableVerticalSpace */
            invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
            invokeinterface com.googlecode.lanterna.gui2.Component.setSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        end local 8 // com.googlecode.lanterna.gui2.Component centerComponent
        33: .line 154
      StackMap locals:
      StackMap stack:
            aload 2 /* components */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 38
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout com.googlecode.lanterna.TerminalSize java.util.List java.util.EnumMap int int int int top java.util.Iterator
      StackMap stack:
        34: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 8 /* component */
        start local 8 // com.googlecode.lanterna.gui2.Component component
        35: .line 155
            aload 8 /* component */
            invokeinterface com.googlecode.lanterna.gui2.Component.isVisible:()Z
            ifeq 38
            aload 3 /* layout */
            aload 8 /* component */
            invokevirtual java.util.EnumMap.containsValue:(Ljava/lang/Object;)Z
            ifne 38
        36: .line 156
            aload 8 /* component */
            getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
            invokeinterface com.googlecode.lanterna.gui2.Component.setPosition:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        37: .line 157
            aload 8 /* component */
            getstatic com.googlecode.lanterna.TerminalSize.ZERO:Lcom/googlecode/lanterna/TerminalSize;
            invokeinterface com.googlecode.lanterna.gui2.Component.setSize:(Lcom/googlecode/lanterna/TerminalSize;)Lcom/googlecode/lanterna/gui2/Component;
            pop
        end local 8 // com.googlecode.lanterna.gui2.Component component
        38: .line 154
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        39: .line 160
            return
        end local 7 // int leftComponentWidth
        end local 6 // int topComponentHeight
        end local 5 // int availableVerticalSpace
        end local 4 // int availableHorizontalSpace
        end local 3 // java.util.EnumMap layout
        end local 2 // java.util.List components
        end local 1 // com.googlecode.lanterna.TerminalSize area
        end local 0 // com.googlecode.lanterna.gui2.BorderLayout this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   40     0                      this  Lcom/googlecode/lanterna/gui2/BorderLayout;
            0   40     1                      area  Lcom/googlecode/lanterna/TerminalSize;
            0   40     2                components  Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;
            1   40     3                    layout  Ljava/util/EnumMap<Lcom/googlecode/lanterna/gui2/BorderLayout$Location;Lcom/googlecode/lanterna/gui2/Component;>;
            2   40     4  availableHorizontalSpace  I
            3   40     5    availableVerticalSpace  I
            4   40     6        topComponentHeight  I
            5   40     7        leftComponentWidth  I
            7   11     8              topComponent  Lcom/googlecode/lanterna/gui2/Component;
           13   17     8           bottomComponent  Lcom/googlecode/lanterna/gui2/Component;
           14   17     9     bottomComponentHeight  I
           19   23     8             leftComponent  Lcom/googlecode/lanterna/gui2/Component;
           25   29     8            rightComponent  Lcom/googlecode/lanterna/gui2/Component;
           26   29     9       rightComponentWidth  I
           31   33     8           centerComponent  Lcom/googlecode/lanterna/gui2/Component;
           35   38     8                 component  Lcom/googlecode/lanterna/gui2/Component;
    Signature: (Lcom/googlecode/lanterna/TerminalSize;Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;)V
    MethodParameters:
            Name  Flags
      area        
      components  

  private java.util.EnumMap<com.googlecode.lanterna.gui2.BorderLayout$Location, com.googlecode.lanterna.gui2.Component> makeLookupMap(java.util.List<com.googlecode.lanterna.gui2.Component>);
    descriptor: (Ljava/util/List;)Ljava/util/EnumMap;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // com.googlecode.lanterna.gui2.BorderLayout this
        start local 1 // java.util.List components
         0: .line 163
            new java.util.EnumMap
            dup
            ldc Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            astore 2 /* map */
        start local 2 // java.util.EnumMap map
         1: .line 164
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* unassignedComponents */
        start local 3 // java.util.List unassignedComponents
         2: .line 165
            aload 1 /* components */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 4 /* component */
        start local 4 // com.googlecode.lanterna.gui2.Component component
         4: .line 166
            aload 4 /* component */
            invokeinterface com.googlecode.lanterna.gui2.Component.isVisible:()Z
            ifne 6
         5: .line 167
            goto 10
         6: .line 169
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap java.util.List com.googlecode.lanterna.gui2.Component java.util.Iterator
      StackMap stack:
            aload 4 /* component */
            invokeinterface com.googlecode.lanterna.gui2.Component.getLayoutData:()Lcom/googlecode/lanterna/gui2/LayoutData;
            instanceof com.googlecode.lanterna.gui2.BorderLayout$Location
            ifeq 9
         7: .line 170
            aload 2 /* map */
            aload 4 /* component */
            invokeinterface com.googlecode.lanterna.gui2.Component.getLayoutData:()Lcom/googlecode/lanterna/gui2/LayoutData;
            checkcast com.googlecode.lanterna.gui2.BorderLayout$Location
            aload 4 /* component */
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 171
            goto 10
         9: .line 173
      StackMap locals:
      StackMap stack:
            aload 3 /* unassignedComponents */
            aload 4 /* component */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // com.googlecode.lanterna.gui2.Component component
        10: .line 165
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 177
            aload 3 /* unassignedComponents */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 19
      StackMap locals:
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.Component
            astore 4 /* component */
        start local 4 // com.googlecode.lanterna.gui2.Component component
        13: .line 178
            getstatic com.googlecode.lanterna.gui2.BorderLayout.AUTO_ASSIGN_ORDER:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 18
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap java.util.List com.googlecode.lanterna.gui2.Component java.util.Iterator top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.googlecode.lanterna.gui2.BorderLayout$Location
            astore 6 /* location */
        start local 6 // com.googlecode.lanterna.gui2.BorderLayout$Location location
        15: .line 179
            aload 2 /* map */
            aload 6 /* location */
            invokevirtual java.util.EnumMap.containsKey:(Ljava/lang/Object;)Z
            ifne 18
        16: .line 180
            aload 2 /* map */
            aload 6 /* location */
            aload 4 /* component */
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 181
            goto 19
        end local 6 // com.googlecode.lanterna.gui2.BorderLayout$Location location
        18: .line 178
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        end local 4 // com.googlecode.lanterna.gui2.Component component
        19: .line 177
      StackMap locals: com.googlecode.lanterna.gui2.BorderLayout java.util.List java.util.EnumMap java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        20: .line 185
            aload 2 /* map */
            areturn
        end local 3 // java.util.List unassignedComponents
        end local 2 // java.util.EnumMap map
        end local 1 // java.util.List components
        end local 0 // com.googlecode.lanterna.gui2.BorderLayout this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   21     0                  this  Lcom/googlecode/lanterna/gui2/BorderLayout;
            0   21     1            components  Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;
            1   21     2                   map  Ljava/util/EnumMap<Lcom/googlecode/lanterna/gui2/BorderLayout$Location;Lcom/googlecode/lanterna/gui2/Component;>;
            2   21     3  unassignedComponents  Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;
            4   10     4             component  Lcom/googlecode/lanterna/gui2/Component;
           13   19     4             component  Lcom/googlecode/lanterna/gui2/Component;
           15   18     6              location  Lcom/googlecode/lanterna/gui2/BorderLayout$Location;
    Signature: (Ljava/util/List<Lcom/googlecode/lanterna/gui2/Component;>;)Ljava/util/EnumMap<Lcom/googlecode/lanterna/gui2/BorderLayout$Location;Lcom/googlecode/lanterna/gui2/Component;>;
    MethodParameters:
            Name  Flags
      components  

  public boolean hasChanged();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.googlecode.lanterna.gui2.BorderLayout this
         0: .line 191
            iconst_0
            ireturn
        end local 0 // com.googlecode.lanterna.gui2.BorderLayout this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/googlecode/lanterna/gui2/BorderLayout;
}
SourceFile: "BorderLayout.java"
NestMembers:
  com.googlecode.lanterna.gui2.BorderLayout$Location
InnerClasses:
  public final Location = com.googlecode.lanterna.gui2.BorderLayout$Location of com.googlecode.lanterna.gui2.BorderLayout