class jdk.internal.joptsimple.internal.Columns
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.joptsimple.internal.Columns
  super_class: java.lang.Object
{
  private static final int INDENT_WIDTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private final int optionWidth;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int descriptionWidth;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  void <init>(int, int);
    descriptor: (II)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.internal.joptsimple.internal.Columns this
        start local 1 // int optionWidth
        start local 2 // int descriptionWidth
         0: .line 75
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            iload 1 /* optionWidth */
            putfield jdk.internal.joptsimple.internal.Columns.optionWidth:I
         2: .line 77
            aload 0 /* this */
            iload 2 /* descriptionWidth */
            putfield jdk.internal.joptsimple.internal.Columns.descriptionWidth:I
         3: .line 78
            return
        end local 2 // int descriptionWidth
        end local 1 // int optionWidth
        end local 0 // jdk.internal.joptsimple.internal.Columns this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Ljdk/internal/joptsimple/internal/Columns;
            0    4     1       optionWidth  I
            0    4     2  descriptionWidth  I
    MethodParameters:
                  Name  Flags
      optionWidth       
      descriptionWidth  

  java.util.List<jdk.internal.joptsimple.internal.Row> fit(jdk.internal.joptsimple.internal.Row);
    descriptor: (Ljdk/internal/joptsimple/internal/Row;)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // jdk.internal.joptsimple.internal.Columns this
        start local 1 // jdk.internal.joptsimple.internal.Row row
         0: .line 81
            aload 0 /* this */
            aload 1 /* row */
            getfield jdk.internal.joptsimple.internal.Row.option:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.joptsimple.internal.Columns.optionWidth:I
            invokevirtual jdk.internal.joptsimple.internal.Columns.piecesOf:(Ljava/lang/String;I)Ljava/util/List;
            astore 2 /* options */
        start local 2 // java.util.List options
         1: .line 82
            aload 0 /* this */
            aload 1 /* row */
            getfield jdk.internal.joptsimple.internal.Row.description:Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.internal.joptsimple.internal.Columns.descriptionWidth:I
            invokevirtual jdk.internal.joptsimple.internal.Columns.piecesOf:(Ljava/lang/String;I)Ljava/util/List;
            astore 3 /* descriptions */
        start local 3 // java.util.List descriptions
         2: .line 84
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* rows */
        start local 4 // java.util.List rows
         3: .line 85
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 7
         5: .line 86
      StackMap locals: jdk.internal.joptsimple.internal.Columns jdk.internal.joptsimple.internal.Row java.util.List java.util.List java.util.List int
      StackMap stack:
            aload 4 /* rows */
            new jdk.internal.joptsimple.internal.Row
            dup
            aload 2 /* options */
            iload 5 /* i */
            invokestatic jdk.internal.joptsimple.internal.Columns.itemOrEmpty:(Ljava/util/List;I)Ljava/lang/String;
            aload 3 /* descriptions */
            iload 5 /* i */
            invokestatic jdk.internal.joptsimple.internal.Columns.itemOrEmpty:(Ljava/util/List;I)Ljava/lang/String;
            invokespecial jdk.internal.joptsimple.internal.Row.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 85
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 5 /* i */
            aload 2 /* options */
            invokeinterface java.util.List.size:()I
            aload 3 /* descriptions */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Math.max:(II)I
            if_icmplt 5
        end local 5 // int i
         8: .line 88
            aload 4 /* rows */
            areturn
        end local 4 // java.util.List rows
        end local 3 // java.util.List descriptions
        end local 2 // java.util.List options
        end local 1 // jdk.internal.joptsimple.internal.Row row
        end local 0 // jdk.internal.joptsimple.internal.Columns this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Ljdk/internal/joptsimple/internal/Columns;
            0    9     1           row  Ljdk/internal/joptsimple/internal/Row;
            1    9     2       options  Ljava/util/List<Ljava/lang/String;>;
            2    9     3  descriptions  Ljava/util/List<Ljava/lang/String;>;
            3    9     4          rows  Ljava/util/List<Ljdk/internal/joptsimple/internal/Row;>;
            4    8     5             i  I
    Signature: (Ljdk/internal/joptsimple/internal/Row;)Ljava/util/List<Ljdk/internal/joptsimple/internal/Row;>;
    MethodParameters:
      Name  Flags
      row   

  private static java.lang.String itemOrEmpty(java.util.List<java.lang.String>, int);
    descriptor: (Ljava/util/List;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.List items
        start local 1 // int index
         0: .line 92
            iload 1 /* index */
            aload 0 /* items */
            invokeinterface java.util.List.size:()I
            if_icmplt 1
            ldc ""
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* items */
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // int index
        end local 0 // java.util.List items
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  items  Ljava/util/List<Ljava/lang/String;>;
            0    3     1  index  I
    Signature: (Ljava/util/List<Ljava/lang/String;>;I)Ljava/lang/String;
    MethodParameters:
       Name  Flags
      items  
      index  

  private java.util.List<java.lang.String> piecesOf(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // jdk.internal.joptsimple.internal.Columns this
        start local 1 // java.lang.String raw
        start local 2 // int width
         0: .line 96
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pieces */
        start local 3 // java.util.List pieces
         1: .line 98
            aload 1 /* raw */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            getstatic jdk.internal.joptsimple.internal.Strings.LINE_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 5
      StackMap locals: jdk.internal.joptsimple.internal.Columns java.lang.String int java.util.List top int int java.lang.String[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* each */
        start local 4 // java.lang.String each
         3: .line 99
            aload 3 /* pieces */
            aload 0 /* this */
            aload 4 /* each */
            iload 2 /* width */
            invokevirtual jdk.internal.joptsimple.internal.Columns.piecesOfEmbeddedLine:(Ljava/lang/String;I)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 4 // java.lang.String each
         4: .line 98
            iinc 5 1
      StackMap locals:
      StackMap stack:
         5: iload 5
            iload 6
            if_icmplt 2
         6: .line 101
            aload 3 /* pieces */
            areturn
        end local 3 // java.util.List pieces
        end local 2 // int width
        end local 1 // java.lang.String raw
        end local 0 // jdk.internal.joptsimple.internal.Columns this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/internal/joptsimple/internal/Columns;
            0    7     1     raw  Ljava/lang/String;
            0    7     2   width  I
            1    7     3  pieces  Ljava/util/List<Ljava/lang/String;>;
            3    4     4    each  Ljava/lang/String;
    Signature: (Ljava/lang/String;I)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      raw    
      width  

  private java.util.List<java.lang.String> piecesOfEmbeddedLine(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // jdk.internal.joptsimple.internal.Columns this
        start local 1 // java.lang.String line
        start local 2 // int width
         0: .line 105
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pieces */
        start local 3 // java.util.List pieces
         1: .line 107
            invokestatic java.text.BreakIterator.getLineInstance:()Ljava/text/BreakIterator;
            astore 4 /* words */
        start local 4 // java.text.BreakIterator words
         2: .line 108
            aload 4 /* words */
            aload 1 /* line */
            invokevirtual java.text.BreakIterator.setText:(Ljava/lang/String;)V
         3: .line 110
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* nextPiece */
        start local 5 // java.lang.StringBuilder nextPiece
         4: .line 112
            aload 4 /* words */
            invokevirtual java.text.BreakIterator.first:()I
            istore 6 /* start */
        start local 6 // int start
         5: .line 113
            aload 4 /* words */
            invokevirtual java.text.BreakIterator.next:()I
            istore 7 /* end */
        start local 7 // int end
         6: goto 9
         7: .line 114
      StackMap locals: jdk.internal.joptsimple.internal.Columns java.lang.String int java.util.List java.text.BreakIterator java.lang.StringBuilder int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* line */
            aload 5 /* nextPiece */
            iload 6 /* start */
            iload 7 /* end */
            iload 2 /* width */
            aload 3 /* pieces */
            invokevirtual jdk.internal.joptsimple.internal.Columns.processNextWord:(Ljava/lang/String;Ljava/lang/StringBuilder;IIILjava/util/List;)Ljava/lang/StringBuilder;
            astore 5 /* nextPiece */
         8: .line 113
            iload 7 /* end */
            istore 6 /* start */
            aload 4 /* words */
            invokevirtual java.text.BreakIterator.next:()I
            istore 7 /* end */
      StackMap locals:
      StackMap stack:
         9: iload 7 /* end */
            iconst_m1
            if_icmpne 7
        end local 7 // int end
        10: .line 116
            aload 5 /* nextPiece */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 12
        11: .line 117
            aload 3 /* pieces */
            aload 5 /* nextPiece */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 119
      StackMap locals:
      StackMap stack:
            aload 3 /* pieces */
            areturn
        end local 6 // int start
        end local 5 // java.lang.StringBuilder nextPiece
        end local 4 // java.text.BreakIterator words
        end local 3 // java.util.List pieces
        end local 2 // int width
        end local 1 // java.lang.String line
        end local 0 // jdk.internal.joptsimple.internal.Columns this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Ljdk/internal/joptsimple/internal/Columns;
            0   13     1       line  Ljava/lang/String;
            0   13     2      width  I
            1   13     3     pieces  Ljava/util/List<Ljava/lang/String;>;
            2   13     4      words  Ljava/text/BreakIterator;
            4   13     5  nextPiece  Ljava/lang/StringBuilder;
            5   13     6      start  I
            6   10     7        end  I
    Signature: (Ljava/lang/String;I)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
       Name  Flags
      line   
      width  

  private java.lang.StringBuilder processNextWord(java.lang.String, java.lang.StringBuilder, int, int, int, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/StringBuilder;IIILjava/util/List;)Ljava/lang/StringBuilder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // jdk.internal.joptsimple.internal.Columns this
        start local 1 // java.lang.String source
        start local 2 // java.lang.StringBuilder nextPiece
        start local 3 // int start
        start local 4 // int end
        start local 5 // int width
        start local 6 // java.util.List pieces
         0: .line 124
            aload 2 /* nextPiece */
            astore 7 /* augmented */
        start local 7 // java.lang.StringBuilder augmented
         1: .line 126
            aload 1 /* source */
            iload 3 /* start */
            iload 4 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 8 /* word */
        start local 8 // java.lang.String word
         2: .line 127
            aload 7 /* augmented */
            invokevirtual java.lang.StringBuilder.length:()I
            aload 8 /* word */
            invokevirtual java.lang.String.length:()I
            iadd
            iload 5 /* width */
            if_icmple 6
         3: .line 128
            aload 6 /* pieces */
            aload 7 /* augmented */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "\\s+$"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 129
            new java.lang.StringBuilder
            dup
            bipush 32
            iconst_2
            invokestatic jdk.internal.joptsimple.internal.Strings.repeat:(CI)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* word */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            astore 7 /* augmented */
         5: .line 130
            goto 7
         6: .line 132
      StackMap locals: java.lang.StringBuilder java.lang.String
      StackMap stack:
            aload 7 /* augmented */
            aload 8 /* word */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 134
      StackMap locals:
      StackMap stack:
            aload 7 /* augmented */
            areturn
        end local 8 // java.lang.String word
        end local 7 // java.lang.StringBuilder augmented
        end local 6 // java.util.List pieces
        end local 5 // int width
        end local 4 // int end
        end local 3 // int start
        end local 2 // java.lang.StringBuilder nextPiece
        end local 1 // java.lang.String source
        end local 0 // jdk.internal.joptsimple.internal.Columns this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/internal/joptsimple/internal/Columns;
            0    8     1     source  Ljava/lang/String;
            0    8     2  nextPiece  Ljava/lang/StringBuilder;
            0    8     3      start  I
            0    8     4        end  I
            0    8     5      width  I
            0    8     6     pieces  Ljava/util/List<Ljava/lang/String;>;
            1    8     7  augmented  Ljava/lang/StringBuilder;
            2    8     8       word  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/StringBuilder;IIILjava/util/List<Ljava/lang/String;>;)Ljava/lang/StringBuilder;
    MethodParameters:
           Name  Flags
      source     
      nextPiece  
      start      
      end        
      width      
      pieces     
}
SourceFile: "Columns.java"