public class io.vertx.core.cli.UsageMessageFormatter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.cli.UsageMessageFormatter
  super_class: java.lang.Object
{
  public static final int DEFAULT_WIDTH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 80

  public static final int DEFAULT_LEFT_PAD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int DEFAULT_DESC_PAD;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final java.lang.String DEFAULT_USAGE_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Usage: "

  public static final java.lang.String DEFAULT_OPT_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "-"

  public static final java.lang.String DEFAULT_LONG_OPT_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "--"

  public static final java.lang.String DEFAULT_LONG_OPT_SEPARATOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: " "

  public static final java.lang.String DEFAULT_ARG_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "arg"

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

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

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

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

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

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

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

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

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

  protected java.util.Comparator<io.vertx.core.cli.Option> optionComparator;
    descriptor: Ljava/util/Comparator;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Comparator<Lio/vertx/core/cli/Option;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 26
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            bipush 80
            putfield io.vertx.core.cli.UsageMessageFormatter.width:I
         2: .line 69
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.cli.UsageMessageFormatter.leftPad:I
         3: .line 70
            aload 0 /* this */
            iconst_3
            putfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
         4: .line 71
            aload 0 /* this */
            ldc "Usage: "
            putfield io.vertx.core.cli.UsageMessageFormatter.usagePrefix:Ljava/lang/String;
         5: .line 72
            aload 0 /* this */
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            putfield io.vertx.core.cli.UsageMessageFormatter.newLine:Ljava/lang/String;
         6: .line 73
            aload 0 /* this */
            ldc "-"
            putfield io.vertx.core.cli.UsageMessageFormatter.defaultOptionPrefix:Ljava/lang/String;
         7: .line 74
            aload 0 /* this */
            ldc "--"
            putfield io.vertx.core.cli.UsageMessageFormatter.defaultLongOptPrefix:Ljava/lang/String;
         8: .line 75
            aload 0 /* this */
            ldc "arg"
            putfield io.vertx.core.cli.UsageMessageFormatter.defaultArgName:Ljava/lang/String;
         9: .line 76
            aload 0 /* this */
            ldc " "
            putfield io.vertx.core.cli.UsageMessageFormatter.longOptSeparator:Ljava/lang/String;
        10: .line 83
            aload 0 /* this */
        11: .line 84
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  io/vertx/core/cli/UsageMessageFormatter.lambda$0(Lio/vertx/core/cli/Option;Lio/vertx/core/cli/Option;)I (6)
                  (Lio/vertx/core/cli/Option;Lio/vertx/core/cli/Option;)I
            putfield io.vertx.core.cli.UsageMessageFormatter.optionComparator:Ljava/util/Comparator;
        12: .line 26
            return
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setWidth(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // int width
         0: .line 87
            aload 0 /* this */
            iload 1 /* width */
            putfield io.vertx.core.cli.UsageMessageFormatter.width:I
         1: .line 88
            return
        end local 1 // int width
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  width  I
    MethodParameters:
       Name  Flags
      width  

  public int getWidth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 91
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.width:I
            ireturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setLeftPadding(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // int padding
         0: .line 95
            aload 0 /* this */
            iload 1 /* padding */
            putfield io.vertx.core.cli.UsageMessageFormatter.leftPad:I
         1: .line 96
            return
        end local 1 // int padding
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  padding  I
    MethodParameters:
         Name  Flags
      padding  

  public int getLeftPadding();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 99
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.leftPad:I
            ireturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setDescPadding(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // int padding
         0: .line 103
            aload 0 /* this */
            iload 1 /* padding */
            putfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
         1: .line 104
            return
        end local 1 // int padding
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  padding  I
    MethodParameters:
         Name  Flags
      padding  

  public int getDescPadding();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 107
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
            ireturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setUsagePrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.String prefix
         0: .line 111
            aload 0 /* this */
            aload 1 /* prefix */
            putfield io.vertx.core.cli.UsageMessageFormatter.usagePrefix:Ljava/lang/String;
         1: .line 112
            return
        end local 1 // java.lang.String prefix
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public java.lang.String getUsagePrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 115
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.usagePrefix:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setNewLine(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.String newline
         0: .line 119
            aload 0 /* this */
            aload 1 /* newline */
            putfield io.vertx.core.cli.UsageMessageFormatter.newLine:Ljava/lang/String;
         1: .line 120
            return
        end local 1 // java.lang.String newline
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  newline  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      newline  

  public java.lang.String getNewLine();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 123
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.newLine:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setOptionPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.String prefix
         0: .line 127
            aload 0 /* this */
            aload 1 /* prefix */
            putfield io.vertx.core.cli.UsageMessageFormatter.defaultOptionPrefix:Ljava/lang/String;
         1: .line 128
            return
        end local 1 // java.lang.String prefix
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public java.lang.String getOptionPrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 131
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.defaultOptionPrefix:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setLongOptionPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.String prefix
         0: .line 135
            aload 0 /* this */
            aload 1 /* prefix */
            putfield io.vertx.core.cli.UsageMessageFormatter.defaultLongOptPrefix:Ljava/lang/String;
         1: .line 136
            return
        end local 1 // java.lang.String prefix
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public java.lang.String getLongOptionPrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 139
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.defaultLongOptPrefix:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setLongOptionSeparator(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.String longOptSeparator
         0: .line 150
            aload 0 /* this */
            aload 1 /* longOptSeparator */
            putfield io.vertx.core.cli.UsageMessageFormatter.longOptSeparator:Ljava/lang/String;
         1: .line 151
            return
        end local 1 // java.lang.String longOptSeparator
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  longOptSeparator  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      longOptSeparator  

  public java.lang.String getLongOptionSeparator();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 159
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.longOptSeparator:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public void setArgName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.String name
         0: .line 163
            aload 0 /* this */
            aload 1 /* name */
            putfield io.vertx.core.cli.UsageMessageFormatter.defaultArgName:Ljava/lang/String;
         1: .line 164
            return
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.String getArgName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 167
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.defaultArgName:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;

  public java.util.Comparator<io.vertx.core.cli.Option> getOptionComparator();
    descriptor: ()Ljava/util/Comparator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
         0: .line 177
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.optionComparator:Ljava/util/Comparator;
            areturn
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/UsageMessageFormatter;
    Signature: ()Ljava/util/Comparator<Lio/vertx/core/cli/Option;>;

  public void setOptionComparator(java.util.Comparator<io.vertx.core.cli.Option>);
    descriptor: (Ljava/util/Comparator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.util.Comparator comparator
         0: .line 187
            aload 0 /* this */
            aload 1 /* comparator */
            putfield io.vertx.core.cli.UsageMessageFormatter.optionComparator:Ljava/util/Comparator;
         1: .line 188
            return
        end local 1 // java.util.Comparator comparator
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  comparator  Ljava/util/Comparator<Lio/vertx/core/cli/Option;>;
    Signature: (Ljava/util/Comparator<Lio/vertx/core/cli/Option;>;)V
    MethodParameters:
            Name  Flags
      comparator  

  protected void appendOption(java.lang.StringBuilder, io.vertx.core.cli.Option);
    descriptor: (Ljava/lang/StringBuilder;Lio/vertx/core/cli/Option;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder buff
        start local 2 // io.vertx.core.cli.Option option
         0: .line 197
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.isHidden:()Z
            ifeq 2
         1: .line 198
            return
         2: .line 201
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.isRequired:()Z
            ifne 4
         3: .line 202
            aload 1 /* buff */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.isNullOrEmpty:(Ljava/lang/String;)Z
            ifne 7
         5: .line 206
            aload 1 /* buff */
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 207
            goto 8
         7: .line 208
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            ldc "--"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 211
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getChoices:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 14
         9: .line 212
            aload 1 /* buff */
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 10
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getLongOptionSeparator:()Ljava/lang/String;
            goto 11
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        10: ldc " "
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder io.vertx.core.cli.Option
      StackMap stack: java.lang.StringBuilder java.lang.String
        11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 213
            aload 1 /* buff */
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getChoices:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            ldc ", "
            ldc "{"
            ldc "}"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 214
            goto 21
        14: .line 216
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.acceptValue:()Z
            ifeq 21
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getArgName:()Ljava/lang/String;
            ifnull 15
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getArgName:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 21
        15: .line 217
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 16
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getLongOptionSeparator:()Ljava/lang/String;
            goto 17
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        16: ldc " "
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder io.vertx.core.cli.Option
      StackMap stack: java.lang.StringBuilder java.lang.String
        17: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 218
            aload 1 /* buff */
            ldc "<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getArgName:()Ljava/lang/String;
            ifnull 19
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getArgName:()Ljava/lang/String;
            goto 20
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        19: aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getArgName:()Ljava/lang/String;
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder io.vertx.core.cli.Option
      StackMap stack: java.lang.StringBuilder java.lang.String
        20: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 223
      StackMap locals:
      StackMap stack:
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.isRequired:()Z
            ifne 23
        22: .line 224
            aload 1 /* buff */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 226
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.cli.Option option
        end local 1 // java.lang.StringBuilder buff
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   24     1    buff  Ljava/lang/StringBuilder;
            0   24     2  option  Lio/vertx/core/cli/Option;
    MethodParameters:
        Name  Flags
      buff    
      option  

  protected void appendArgument(java.lang.StringBuilder, io.vertx.core.cli.Argument, boolean);
    descriptor: (Ljava/lang/StringBuilder;Lio/vertx/core/cli/Argument;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder buff
        start local 2 // io.vertx.core.cli.Argument argument
        start local 3 // boolean required
         0: .line 236
            aload 2 /* argument */
            invokevirtual io.vertx.core.cli.Argument.isHidden:()Z
            ifeq 2
         1: .line 237
            return
         2: .line 240
      StackMap locals:
      StackMap stack:
            iload 3 /* required */
            ifne 4
         3: .line 241
            aload 1 /* buff */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 244
      StackMap locals:
      StackMap stack:
            aload 1 /* buff */
            aload 2 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getArgName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 246
            aload 2 /* argument */
            invokevirtual io.vertx.core.cli.Argument.isMultiValued:()Z
            ifeq 7
         6: .line 247
            aload 1 /* buff */
            ldc "..."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 251
      StackMap locals:
      StackMap stack:
            iload 3 /* required */
            ifne 9
         8: .line 252
            aload 1 /* buff */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 254
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean required
        end local 2 // io.vertx.core.cli.Argument argument
        end local 1 // java.lang.StringBuilder buff
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   10     1      buff  Ljava/lang/StringBuilder;
            0   10     2  argument  Lio/vertx/core/cli/Argument;
            0   10     3  required  Z
    MethodParameters:
          Name  Flags
      buff      
      argument  
      required  

  public void usage(java.lang.StringBuilder, io.vertx.core.cli.CLI);
    descriptor: (Ljava/lang/StringBuilder;Lio/vertx/core/cli/CLI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder builder
        start local 2 // io.vertx.core.cli.CLI cli
         0: .line 263
            aload 0 /* this */
            aload 1 /* builder */
            aconst_null
            aload 2 /* cli */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.usage:(Ljava/lang/StringBuilder;Ljava/lang/String;Lio/vertx/core/cli/CLI;)V
         1: .line 264
            return
        end local 2 // io.vertx.core.cli.CLI cli
        end local 1 // java.lang.StringBuilder builder
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  builder  Ljava/lang/StringBuilder;
            0    2     2      cli  Lio/vertx/core/cli/CLI;
    MethodParameters:
         Name  Flags
      builder  
      cli      

  public void usage(java.lang.StringBuilder, java.lang.String, io.vertx.core.cli.CLI);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Lio/vertx/core/cli/CLI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder builder
        start local 2 // java.lang.String prefix
        start local 3 // io.vertx.core.cli.CLI cli
         0: .line 274
            aload 0 /* this */
            aload 1 /* builder */
            aload 2 /* prefix */
            aload 3 /* cli */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.computeUsageLine:(Ljava/lang/StringBuilder;Ljava/lang/String;Lio/vertx/core/cli/CLI;)V
         1: .line 276
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getSummary:()Ljava/lang/String;
            ifnull 3
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getSummary:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 3
         2: .line 277
            aload 0 /* this */
            aload 1 /* builder */
            new java.lang.StringBuilder
            dup
            ldc "\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getSummary:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.buildWrapped:(Ljava/lang/StringBuilder;Ljava/lang/String;)V
         3: .line 279
      StackMap locals:
      StackMap stack:
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getDescription:()Ljava/lang/String;
            ifnull 5
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 5
         4: .line 280
            aload 0 /* this */
            aload 1 /* builder */
            new java.lang.StringBuilder
            dup
            ldc "\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.buildWrapped:(Ljava/lang/StringBuilder;Ljava/lang/String;)V
         5: .line 282
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 284
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 8
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 8
         7: .line 286
            return
         8: .line 289
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            ldc "Options and Arguments:\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 290
            aload 0 /* this */
            aload 1 /* builder */
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.computeOptionsAndArguments:(Ljava/lang/StringBuilder;Ljava/util/List;Ljava/util/List;)V
        10: .line 291
            return
        end local 3 // io.vertx.core.cli.CLI cli
        end local 2 // java.lang.String prefix
        end local 1 // java.lang.StringBuilder builder
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   11     1  builder  Ljava/lang/StringBuilder;
            0   11     2   prefix  Ljava/lang/String;
            0   11     3      cli  Lio/vertx/core/cli/CLI;
    MethodParameters:
         Name  Flags
      builder  
      prefix   
      cli      

  public void computeUsage(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder buffer
        start local 2 // java.lang.String cmdLineSyntax
         0: .line 295
            aload 2 /* cmdLineSyntax */
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            istore 3 /* argPos */
        start local 3 // int argPos
         1: .line 296
            aload 0 /* this */
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getUsagePrefix:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 3 /* argPos */
            iadd
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getUsagePrefix:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* cmdLineSyntax */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.buildWrapped:(Ljava/lang/StringBuilder;ILjava/lang/String;)V
         2: .line 297
            return
        end local 3 // int argPos
        end local 2 // java.lang.String cmdLineSyntax
        end local 1 // java.lang.StringBuilder buffer
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    3     1         buffer  Ljava/lang/StringBuilder;
            0    3     2  cmdLineSyntax  Ljava/lang/String;
            1    3     3         argPos  I
    MethodParameters:
               Name  Flags
      buffer         
      cmdLineSyntax  

  public void computeUsageLine(java.lang.StringBuilder, java.lang.String, io.vertx.core.cli.CLI);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;Lio/vertx/core/cli/CLI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder buffer
        start local 2 // java.lang.String prefix
        start local 3 // io.vertx.core.cli.CLI cli
         0: .line 302
            aload 2 /* prefix */
            ifnonnull 3
         1: .line 303
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getUsagePrefix:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* buff */
        start local 4 // java.lang.StringBuilder buff
         2: .line 304
            goto 6
        end local 4 // java.lang.StringBuilder buff
         3: .line 305
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getUsagePrefix:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            astore 4 /* buff */
        start local 4 // java.lang.StringBuilder buff
         4: .line 306
            aload 2 /* prefix */
            ldc " "
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 6
         5: .line 307
            aload 4 /* buff */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 311
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 4 /* buff */
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 313
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getOptionComparator:()Ljava/util/Comparator;
            ifnull 9
         8: .line 314
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getOptionComparator:()Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         9: .line 318
      StackMap locals:
      StackMap stack:
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.lang.String io.vertx.core.cli.CLI java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 5 /* option */
        start local 5 // io.vertx.core.cli.Option option
        11: .line 319
            aload 0 /* this */
            aload 4 /* buff */
            aload 5 /* option */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.appendOption:(Ljava/lang/StringBuilder;Lio/vertx/core/cli/Option;)V
        12: .line 320
            aload 4 /* buff */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // io.vertx.core.cli.Option option
        13: .line 318
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 324
            aload 3 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 18
      StackMap locals:
      StackMap stack:
        15: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Argument
            astore 5 /* arg */
        start local 5 // io.vertx.core.cli.Argument arg
        16: .line 325
            aload 0 /* this */
            aload 4 /* buff */
            aload 5 /* arg */
            aload 5 /* arg */
            invokevirtual io.vertx.core.cli.Argument.isRequired:()Z
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.appendArgument:(Ljava/lang/StringBuilder;Lio/vertx/core/cli/Argument;Z)V
        17: .line 326
            aload 4 /* buff */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // io.vertx.core.cli.Argument arg
        18: .line 324
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 329
            aload 0 /* this */
            aload 1 /* buffer */
            aload 4 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            bipush 32
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_1
            iadd
            aload 4 /* buff */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.buildWrapped:(Ljava/lang/StringBuilder;ILjava/lang/String;)V
        20: .line 330
            return
        end local 4 // java.lang.StringBuilder buff
        end local 3 // io.vertx.core.cli.CLI cli
        end local 2 // java.lang.String prefix
        end local 1 // java.lang.StringBuilder buffer
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   21     1  buffer  Ljava/lang/StringBuilder;
            0   21     2  prefix  Ljava/lang/String;
            0   21     3     cli  Lio/vertx/core/cli/CLI;
            2    3     4    buff  Ljava/lang/StringBuilder;
            4   21     4    buff  Ljava/lang/StringBuilder;
           11   13     5  option  Lio/vertx/core/cli/Option;
           16   18     5     arg  Lio/vertx/core/cli/Argument;
    MethodParameters:
        Name  Flags
      buffer  
      prefix  
      cli     

  public void computeOptionsAndArguments(java.lang.StringBuilder, java.util.List<io.vertx.core.cli.Option>, java.util.List<io.vertx.core.cli.Argument>);
    descriptor: (Ljava/lang/StringBuilder;Ljava/util/List;Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder buffer
        start local 2 // java.util.List options
        start local 3 // java.util.List arguments
         0: .line 341
            aload 0 /* this */
            aload 1 /* buffer */
            aload 2 /* options */
            aload 3 /* arguments */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.renderOptionsAndArguments:(Ljava/lang/StringBuilder;Ljava/util/List;Ljava/util/List;)Ljava/lang/StringBuilder;
            pop
         1: .line 342
            aload 1 /* buffer */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.newLine:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 343
            return
        end local 3 // java.util.List arguments
        end local 2 // java.util.List options
        end local 1 // java.lang.StringBuilder buffer
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    3     1     buffer  Ljava/lang/StringBuilder;
            0    3     2    options  Ljava/util/List<Lio/vertx/core/cli/Option;>;
            0    3     3  arguments  Ljava/util/List<Lio/vertx/core/cli/Argument;>;
    Signature: (Ljava/lang/StringBuilder;Ljava/util/List<Lio/vertx/core/cli/Option;>;Ljava/util/List<Lio/vertx/core/cli/Argument;>;)V
    MethodParameters:
           Name  Flags
      buffer     
      options    
      arguments  

  public void buildWrapped(java.lang.StringBuilder, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder buffer
        start local 2 // java.lang.String text
         0: .line 352
            aload 0 /* this */
            aload 1 /* buffer */
            iconst_0
            aload 2 /* text */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.buildWrapped:(Ljava/lang/StringBuilder;ILjava/lang/String;)V
         1: .line 353
            return
        end local 2 // java.lang.String text
        end local 1 // java.lang.StringBuilder buffer
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    2     1  buffer  Ljava/lang/StringBuilder;
            0    2     2    text  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      buffer  
      text    

  public void buildWrapped(java.lang.StringBuilder, int, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder buffer
        start local 2 // int nextLineTabStop
        start local 3 // java.lang.String text
         0: .line 363
            aload 0 /* this */
            aload 1 /* buffer */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.width:I
            iload 2 /* nextLineTabStop */
            aload 3 /* text */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.renderWrappedTextBlock:(Ljava/lang/StringBuilder;IILjava/lang/String;)Ljava/lang/Appendable;
            pop
         1: .line 364
            aload 1 /* buffer */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.newLine:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 365
            return
        end local 3 // java.lang.String text
        end local 2 // int nextLineTabStop
        end local 1 // java.lang.StringBuilder buffer
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lio/vertx/core/cli/UsageMessageFormatter;
            0    3     1           buffer  Ljava/lang/StringBuilder;
            0    3     2  nextLineTabStop  I
            0    3     3             text  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      buffer           
      nextLineTabStop  
      text             

  protected java.lang.StringBuilder renderCommands(java.lang.StringBuilder, java.util.Collection<io.vertx.core.cli.CLI>);
    descriptor: (Ljava/lang/StringBuilder;Ljava/util/Collection;)Ljava/lang/StringBuilder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // java.util.Collection commands
         0: .line 368
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.leftPad:I
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            astore 3 /* lpad */
        start local 3 // java.lang.String lpad
         1: .line 369
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            astore 4 /* dpad */
        start local 4 // java.lang.String dpad
         2: .line 372
            iconst_0
            istore 5 /* max */
        start local 5 // int max
         3: .line 373
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* prefixList */
        start local 6 // java.util.List prefixList
         4: .line 375
            aload 2 /* commands */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.Collection java.lang.String java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.CLI
            astore 7 /* command */
        start local 7 // io.vertx.core.cli.CLI command
         6: .line 376
            aload 7 /* command */
            invokeinterface io.vertx.core.cli.CLI.isHidden:()Z
            ifne 13
         7: .line 377
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 9 /* buf */
        start local 9 // java.lang.StringBuilder buf
         8: .line 378
            aload 9 /* buf */
            aload 3 /* lpad */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "   "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* command */
            invokeinterface io.vertx.core.cli.CLI.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 379
            aload 6 /* prefixList */
            aload 9 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        10: .line 380
            aload 9 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 5 /* max */
            if_icmple 11
            aload 9 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            goto 12
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.Collection java.lang.String java.lang.String int java.util.List io.vertx.core.cli.CLI java.util.Iterator java.lang.StringBuilder
      StackMap stack:
        11: iload 5 /* max */
      StackMap locals:
      StackMap stack: int
        12: istore 5 /* max */
        end local 9 // java.lang.StringBuilder buf
        end local 7 // io.vertx.core.cli.CLI command
        13: .line 375
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.Collection java.lang.String java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        14: .line 384
            iconst_0
            istore 7 /* x */
        start local 7 // int x
        15: .line 387
            aload 2 /* commands */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8 /* it */
        start local 8 // java.util.Iterator it
        16: goto 29
        17: .line 388
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.Collection java.lang.String java.lang.String int java.util.List int java.util.Iterator
      StackMap stack:
            aload 8 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.CLI
            astore 9 /* command */
        start local 9 // io.vertx.core.cli.CLI command
        18: .line 389
            aload 9 /* command */
            invokeinterface io.vertx.core.cli.CLI.isHidden:()Z
            ifeq 20
        19: .line 390
            goto 29
        20: .line 393
      StackMap locals: io.vertx.core.cli.CLI
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* prefixList */
            iload 7 /* x */
            iinc 7 /* x */ 1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.StringBuilder
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 10 /* buf */
        start local 10 // java.lang.StringBuilder buf
        21: .line 395
            aload 10 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 5 /* max */
            if_icmpge 23
        22: .line 396
            aload 10 /* buf */
            iload 5 /* max */
            aload 10 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            isub
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 399
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 10 /* buf */
            aload 4 /* dpad */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 401
            iload 5 /* max */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
            iadd
            istore 11 /* nextLineTabStop */
        start local 11 // int nextLineTabStop
        25: .line 402
            aload 10 /* buf */
            aload 9 /* command */
            invokeinterface io.vertx.core.cli.CLI.getSummary:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 403
            aload 0 /* this */
            aload 1 /* sb */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.width:I
            iload 11 /* nextLineTabStop */
            aload 10 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.renderWrappedText:(Ljava/lang/StringBuilder;IILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 405
            aload 8 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 29
        28: .line 406
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getNewLine:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 11 // int nextLineTabStop
        end local 10 // java.lang.StringBuilder buf
        end local 9 // io.vertx.core.cli.CLI command
        29: .line 387
      StackMap locals:
      StackMap stack:
            aload 8 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 8 // java.util.Iterator it
        30: .line 410
            aload 1 /* sb */
            areturn
        end local 7 // int x
        end local 6 // java.util.List prefixList
        end local 5 // int max
        end local 4 // java.lang.String dpad
        end local 3 // java.lang.String lpad
        end local 2 // java.util.Collection commands
        end local 1 // java.lang.StringBuilder sb
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   31     0             this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   31     1               sb  Ljava/lang/StringBuilder;
            0   31     2         commands  Ljava/util/Collection<Lio/vertx/core/cli/CLI;>;
            1   31     3             lpad  Ljava/lang/String;
            2   31     4             dpad  Ljava/lang/String;
            3   31     5              max  I
            4   31     6       prefixList  Ljava/util/List<Ljava/lang/StringBuilder;>;
            6   13     7          command  Lio/vertx/core/cli/CLI;
            8   13     9              buf  Ljava/lang/StringBuilder;
           15   31     7                x  I
           16   30     8               it  Ljava/util/Iterator<Lio/vertx/core/cli/CLI;>;
           18   29     9          command  Lio/vertx/core/cli/CLI;
           21   29    10              buf  Ljava/lang/StringBuilder;
           25   29    11  nextLineTabStop  I
    Signature: (Ljava/lang/StringBuilder;Ljava/util/Collection<Lio/vertx/core/cli/CLI;>;)Ljava/lang/StringBuilder;
    MethodParameters:
          Name  Flags
      sb        
      commands  

  public static boolean isNullOrEmpty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 415
            aload 0 /* s */
            ifnull 1
            aload 0 /* s */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  protected java.lang.StringBuilder renderOptionsAndArguments(java.lang.StringBuilder, java.util.List<io.vertx.core.cli.Option>, java.util.List<io.vertx.core.cli.Argument>);
    descriptor: (Ljava/lang/StringBuilder;Ljava/util/List;Ljava/util/List;)Ljava/lang/StringBuilder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // java.util.List options
        start local 3 // java.util.List arguments
         0: .line 428
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.leftPad:I
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            astore 4 /* lpad */
        start local 4 // java.lang.String lpad
         1: .line 429
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            astore 5 /* dpad */
        start local 5 // java.lang.String dpad
         2: .line 435
            iconst_0
            istore 6 /* max */
        start local 6 // int max
         3: .line 436
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* prefixList */
        start local 7 // java.util.List prefixList
         4: .line 438
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getOptionComparator:()Ljava/util/Comparator;
            ifnull 6
         5: .line 439
            aload 2 /* options */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getOptionComparator:()Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         6: .line 442
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List
      StackMap stack:
            aload 2 /* options */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 38
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
         7: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 8 /* option */
        start local 8 // io.vertx.core.cli.Option option
         8: .line 443
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 10 /* buf */
        start local 10 // java.lang.StringBuilder buf
         9: .line 444
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.isHidden:()Z
            ifeq 11
        10: .line 445
            goto 38
        11: .line 448
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List io.vertx.core.cli.Option java.util.Iterator java.lang.StringBuilder
      StackMap stack:
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.isNullOrEmpty:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 449
            aload 10 /* buf */
            aload 4 /* lpad */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "   "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getLongOptionPrefix:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 450
            goto 17
        14: .line 451
      StackMap locals:
      StackMap stack:
            aload 10 /* buf */
            aload 4 /* lpad */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getOptionPrefix:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 453
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.isNullOrEmpty:(Ljava/lang/String;)Z
            ifne 17
        16: .line 454
            aload 10 /* buf */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getLongOptionPrefix:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 458
      StackMap locals:
      StackMap stack:
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getChoices:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 23
        18: .line 459
            aload 10 /* buf */
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.isNullOrEmpty:(Ljava/lang/String;)Z
            ifne 19
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.longOptSeparator:Ljava/lang/String;
            goto 20
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        19: ldc " "
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List io.vertx.core.cli.Option java.util.Iterator java.lang.StringBuilder
      StackMap stack: java.lang.StringBuilder java.lang.String
        20: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 460
            aload 10 /* buf */
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getChoices:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            ldc ", "
            ldc "{"
            ldc "}"
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 461
            goto 34
      StackMap locals:
      StackMap stack:
        23: aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.acceptValue:()Z
            ifeq 34
        24: .line 462
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getArgName:()Ljava/lang/String;
            astore 11 /* argName */
        start local 11 // java.lang.String argName
        25: .line 463
            aload 11 /* argName */
            ifnull 28
            aload 11 /* argName */
            invokevirtual java.lang.String.length:()I
            ifne 28
        26: .line 465
            aload 10 /* buf */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 466
            goto 34
        28: .line 467
      StackMap locals: java.lang.String
      StackMap stack:
            aload 10 /* buf */
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.isNullOrEmpty:(Ljava/lang/String;)Z
            ifne 29
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.longOptSeparator:Ljava/lang/String;
            goto 30
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        29: ldc " "
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List io.vertx.core.cli.Option java.util.Iterator java.lang.StringBuilder java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        30: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 468
            aload 10 /* buf */
            ldc "<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* argName */
            ifnull 32
            aload 8 /* option */
            invokevirtual io.vertx.core.cli.Option.getArgName:()Ljava/lang/String;
            goto 33
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        32: aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getArgName:()Ljava/lang/String;
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List io.vertx.core.cli.Option java.util.Iterator java.lang.StringBuilder java.lang.String
      StackMap stack: java.lang.StringBuilder java.lang.String
        33: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 11 // java.lang.String argName
        34: .line 471
      StackMap locals:
      StackMap stack:
            aload 7 /* prefixList */
            aload 10 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 472
            aload 10 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 6 /* max */
            if_icmple 36
            aload 10 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            goto 37
      StackMap locals:
      StackMap stack:
        36: iload 6 /* max */
      StackMap locals:
      StackMap stack: int
        37: istore 6 /* max */
        end local 10 // java.lang.StringBuilder buf
        end local 8 // io.vertx.core.cli.Option option
        38: .line 442
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        39: .line 475
            aload 3 /* arguments */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 49
      StackMap locals:
      StackMap stack:
        40: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Argument
            astore 8 /* argument */
        start local 8 // io.vertx.core.cli.Argument argument
        41: .line 476
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 10 /* buf */
        start local 10 // java.lang.StringBuilder buf
        42: .line 477
            aload 8 /* argument */
            invokevirtual io.vertx.core.cli.Argument.isHidden:()Z
            ifeq 44
        43: .line 478
            goto 49
        44: .line 480
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List io.vertx.core.cli.Argument java.util.Iterator java.lang.StringBuilder
      StackMap stack:
            aload 10 /* buf */
            aload 4 /* lpad */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "<"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getArgName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        45: .line 482
            aload 7 /* prefixList */
            aload 10 /* buf */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        46: .line 483
            aload 10 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 6 /* max */
            if_icmple 47
            aload 10 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            goto 48
      StackMap locals:
      StackMap stack:
        47: iload 6 /* max */
      StackMap locals:
      StackMap stack: int
        48: istore 6 /* max */
        end local 10 // java.lang.StringBuilder buf
        end local 8 // io.vertx.core.cli.Argument argument
        49: .line 475
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        50: .line 486
            iconst_0
            istore 8 /* x */
        start local 8 // int x
        51: .line 489
            aload 2 /* options */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9 /* it */
        start local 9 // java.util.Iterator it
        52: goto 66
        53: .line 490
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder java.util.List java.util.List java.lang.String java.lang.String int java.util.List int java.util.Iterator
      StackMap stack:
            aload 9 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 10 /* option */
        start local 10 // io.vertx.core.cli.Option option
        54: .line 491
            aload 10 /* option */
            invokevirtual io.vertx.core.cli.Option.isHidden:()Z
            ifeq 56
        55: .line 492
            goto 66
        56: .line 494
      StackMap locals: io.vertx.core.cli.Option
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 7 /* prefixList */
            iload 8 /* x */
            iinc 8 /* x */ 1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.StringBuilder
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 11 /* optBuf */
        start local 11 // java.lang.StringBuilder optBuf
        57: .line 496
            aload 11 /* optBuf */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 6 /* max */
            if_icmpge 59
        58: .line 497
            aload 11 /* optBuf */
            iload 6 /* max */
            aload 11 /* optBuf */
            invokevirtual java.lang.StringBuilder.length:()I
            isub
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        59: .line 500
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 11 /* optBuf */
            aload 5 /* dpad */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        60: .line 502
            iload 6 /* max */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
            iadd
            istore 12 /* nextLineTabStop */
        start local 12 // int nextLineTabStop
        61: .line 504
            aload 10 /* option */
            invokevirtual io.vertx.core.cli.Option.getDescription:()Ljava/lang/String;
            ifnull 63
        62: .line 505
            aload 11 /* optBuf */
            aload 10 /* option */
            invokevirtual io.vertx.core.cli.Option.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        63: .line 508
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.width:I
            iload 12 /* nextLineTabStop */
            aload 11 /* optBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.renderWrappedText:(Ljava/lang/StringBuilder;IILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        64: .line 510
            aload 9 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 66
        65: .line 511
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getNewLine:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 12 // int nextLineTabStop
        end local 11 // java.lang.StringBuilder optBuf
        end local 10 // io.vertx.core.cli.Option option
        66: .line 489
      StackMap locals:
      StackMap stack:
            aload 9 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 53
        end local 9 // java.util.Iterator it
        67: .line 516
            aload 2 /* options */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 69
            aload 3 /* arguments */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 69
        68: .line 517
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getNewLine:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        69: .line 519
      StackMap locals:
      StackMap stack:
            aload 3 /* arguments */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9 /* it */
        start local 9 // java.util.Iterator it
        70: goto 84
        71: .line 520
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 9 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Argument
            astore 10 /* argument */
        start local 10 // io.vertx.core.cli.Argument argument
        72: .line 521
            aload 10 /* argument */
            invokevirtual io.vertx.core.cli.Argument.isHidden:()Z
            ifeq 74
        73: .line 522
            goto 84
        74: .line 524
      StackMap locals: io.vertx.core.cli.Argument
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 7 /* prefixList */
            iload 8 /* x */
            iinc 8 /* x */ 1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.StringBuilder
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 11 /* argBuf */
        start local 11 // java.lang.StringBuilder argBuf
        75: .line 526
            aload 11 /* argBuf */
            invokevirtual java.lang.StringBuilder.length:()I
            iload 6 /* max */
            if_icmpge 77
        76: .line 527
            aload 11 /* argBuf */
            iload 6 /* max */
            aload 11 /* argBuf */
            invokevirtual java.lang.StringBuilder.length:()I
            isub
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        77: .line 530
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 11 /* argBuf */
            aload 5 /* dpad */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        78: .line 532
            iload 6 /* max */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.descPad:I
            iadd
            istore 12 /* nextLineTabStop */
        start local 12 // int nextLineTabStop
        79: .line 534
            aload 10 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getDescription:()Ljava/lang/String;
            ifnull 81
        80: .line 535
            aload 11 /* argBuf */
            aload 10 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        81: .line 538
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            aload 0 /* this */
            getfield io.vertx.core.cli.UsageMessageFormatter.width:I
            iload 12 /* nextLineTabStop */
            aload 11 /* argBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.renderWrappedText:(Ljava/lang/StringBuilder;IILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        82: .line 540
            aload 9 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 84
        83: .line 541
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getNewLine:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 12 // int nextLineTabStop
        end local 11 // java.lang.StringBuilder argBuf
        end local 10 // io.vertx.core.cli.Argument argument
        84: .line 519
      StackMap locals:
      StackMap stack:
            aload 9 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 71
        end local 9 // java.util.Iterator it
        85: .line 545
            aload 1 /* sb */
            areturn
        end local 8 // int x
        end local 7 // java.util.List prefixList
        end local 6 // int max
        end local 5 // java.lang.String dpad
        end local 4 // java.lang.String lpad
        end local 3 // java.util.List arguments
        end local 2 // java.util.List options
        end local 1 // java.lang.StringBuilder sb
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   86     0             this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   86     1               sb  Ljava/lang/StringBuilder;
            0   86     2          options  Ljava/util/List<Lio/vertx/core/cli/Option;>;
            0   86     3        arguments  Ljava/util/List<Lio/vertx/core/cli/Argument;>;
            1   86     4             lpad  Ljava/lang/String;
            2   86     5             dpad  Ljava/lang/String;
            3   86     6              max  I
            4   86     7       prefixList  Ljava/util/List<Ljava/lang/StringBuilder;>;
            8   38     8           option  Lio/vertx/core/cli/Option;
            9   38    10              buf  Ljava/lang/StringBuilder;
           25   34    11          argName  Ljava/lang/String;
           41   49     8         argument  Lio/vertx/core/cli/Argument;
           42   49    10              buf  Ljava/lang/StringBuilder;
           51   86     8                x  I
           52   67     9               it  Ljava/util/Iterator<Lio/vertx/core/cli/Option;>;
           54   66    10           option  Lio/vertx/core/cli/Option;
           57   66    11           optBuf  Ljava/lang/StringBuilder;
           61   66    12  nextLineTabStop  I
           70   85     9               it  Ljava/util/Iterator<Lio/vertx/core/cli/Argument;>;
           72   84    10         argument  Lio/vertx/core/cli/Argument;
           75   84    11           argBuf  Ljava/lang/StringBuilder;
           79   84    12  nextLineTabStop  I
    Signature: (Ljava/lang/StringBuilder;Ljava/util/List<Lio/vertx/core/cli/Option;>;Ljava/util/List<Lio/vertx/core/cli/Argument;>;)Ljava/lang/StringBuilder;
    MethodParameters:
           Name  Flags
      sb         
      options    
      arguments  

  protected java.lang.StringBuilder renderWrappedText(java.lang.StringBuilder, int, int, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;IILjava/lang/String;)Ljava/lang/StringBuilder;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // int width
        start local 3 // int nextLineTabStop
        start local 4 // java.lang.String text
         0: .line 560
            aload 4 /* text */
            iload 2 /* width */
            iconst_0
            invokestatic io.vertx.core.cli.UsageMessageFormatter.findWrapPos:(Ljava/lang/String;II)I
            istore 5 /* pos */
        start local 5 // int pos
         1: .line 562
            iload 5 /* pos */
            iconst_m1
            if_icmpne 4
         2: .line 563
            aload 1 /* sb */
            aload 4 /* text */
            invokestatic io.vertx.core.cli.UsageMessageFormatter.rtrim:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 565
            aload 1 /* sb */
            areturn
         4: .line 567
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            aload 4 /* text */
            iconst_0
            iload 5 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.rtrim:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getNewLine:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 569
            iload 3 /* nextLineTabStop */
            iload 2 /* width */
            if_icmplt 7
         6: .line 571
            iconst_1
            istore 3 /* nextLineTabStop */
         7: .line 575
      StackMap locals:
      StackMap stack:
            iload 3 /* nextLineTabStop */
            invokestatic io.vertx.core.cli.UsageMessageFormatter.createPadding:(I)Ljava/lang/String;
            astore 6 /* padding */
        start local 6 // java.lang.String padding
         8: .line 578
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 6 /* padding */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* text */
            iload 5 /* pos */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* text */
         9: .line 579
            aload 4 /* text */
            iload 2 /* width */
            iconst_0
            invokestatic io.vertx.core.cli.UsageMessageFormatter.findWrapPos:(Ljava/lang/String;II)I
            istore 5 /* pos */
        10: .line 581
            iload 5 /* pos */
            iconst_m1
            if_icmpne 13
        11: .line 582
            aload 1 /* sb */
            aload 4 /* text */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 584
            aload 1 /* sb */
            areturn
        13: .line 587
      StackMap locals:
      StackMap stack:
            aload 4 /* text */
            invokevirtual java.lang.String.length:()I
            iload 2 /* width */
            if_icmple 15
            iload 5 /* pos */
            iload 3 /* nextLineTabStop */
            iconst_1
            isub
            if_icmpne 15
        14: .line 588
            iload 2 /* width */
            istore 5 /* pos */
        15: .line 591
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 4 /* text */
            iconst_0
            iload 5 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic io.vertx.core.cli.UsageMessageFormatter.rtrim:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getNewLine:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 577
            goto 8
        end local 6 // java.lang.String padding
        end local 5 // int pos
        end local 4 // java.lang.String text
        end local 3 // int nextLineTabStop
        end local 2 // int width
        end local 1 // java.lang.StringBuilder sb
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   17     0             this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   17     1               sb  Ljava/lang/StringBuilder;
            0   17     2            width  I
            0   17     3  nextLineTabStop  I
            0   17     4             text  Ljava/lang/String;
            1   17     5              pos  I
            8   17     6          padding  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      sb               
      width            
      nextLineTabStop  
      text             

  public java.lang.Appendable renderWrappedTextBlock(java.lang.StringBuilder, int, int, java.lang.String);
    descriptor: (Ljava/lang/StringBuilder;IILjava/lang/String;)Ljava/lang/Appendable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // io.vertx.core.cli.UsageMessageFormatter this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // int width
        start local 3 // int nextLineTabStop
        start local 4 // java.lang.String text
         0: .line 606
            new java.io.BufferedReader
            dup
            new java.io.StringReader
            dup
            aload 4 /* text */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* in */
        start local 5 // java.io.BufferedReader in
         1: .line 608
            iconst_1
            istore 7 /* firstLine */
        start local 7 // boolean firstLine
         2: .line 609
            goto 8
        start local 6 // java.lang.String line
         3: .line 610
      StackMap locals: java.io.BufferedReader java.lang.String int
      StackMap stack:
            iload 7 /* firstLine */
            ifne 6
         4: .line 611
            aload 1 /* sb */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.getNewLine:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 612
            goto 7
         6: .line 613
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* firstLine */
         7: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sb */
            iload 2 /* width */
            iload 3 /* nextLineTabStop */
            aload 6 /* line */
            invokevirtual io.vertx.core.cli.UsageMessageFormatter.renderWrappedText:(Ljava/lang/StringBuilder;IILjava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 6 // java.lang.String line
         8: .line 609
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder int int java.lang.String java.io.BufferedReader top int
      StackMap stack:
            aload 5 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 6 /* line */
        start local 6 // java.lang.String line
         9: ifnonnull 3
        end local 7 // boolean firstLine
        end local 6 // java.lang.String line
        end local 5 // java.io.BufferedReader in
        10: .line 617
            goto 12
      StackMap locals: io.vertx.core.cli.UsageMessageFormatter java.lang.StringBuilder int int java.lang.String
      StackMap stack: java.io.IOException
        11: pop
        12: .line 622
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            areturn
        end local 4 // java.lang.String text
        end local 3 // int nextLineTabStop
        end local 2 // int width
        end local 1 // java.lang.StringBuilder sb
        end local 0 // io.vertx.core.cli.UsageMessageFormatter this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lio/vertx/core/cli/UsageMessageFormatter;
            0   13     1               sb  Ljava/lang/StringBuilder;
            0   13     2            width  I
            0   13     3  nextLineTabStop  I
            0   13     4             text  Ljava/lang/String;
            1   10     5               in  Ljava/io/BufferedReader;
            3    8     6             line  Ljava/lang/String;
            9   10     6             line  Ljava/lang/String;
            2   10     7        firstLine  Z
      Exception table:
        from    to  target  type
           0    10      11  Class java.io.IOException
    MethodParameters:
                 Name  Flags
      sb               
      width            
      nextLineTabStop  
      text             

  public static int findWrapPos(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String text
        start local 1 // int width
        start local 2 // int startPos
         0: .line 641
            aload 0 /* text */
            bipush 10
            iload 2 /* startPos */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* pos */
        start local 3 // int pos
         1: .line 642
            iload 3 /* pos */
            iconst_m1
            if_icmpeq 3
            iload 3 /* pos */
            iload 1 /* width */
            if_icmpgt 3
         2: .line 643
            iload 3 /* pos */
            iconst_1
            iadd
            ireturn
         3: .line 646
      StackMap locals: int
      StackMap stack:
            aload 0 /* text */
            bipush 9
            iload 2 /* startPos */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* pos */
         4: .line 647
            iload 3 /* pos */
            iconst_m1
            if_icmpeq 6
            iload 3 /* pos */
            iload 1 /* width */
            if_icmpgt 6
         5: .line 648
            iload 3 /* pos */
            iconst_1
            iadd
            ireturn
         6: .line 651
      StackMap locals:
      StackMap stack:
            iload 2 /* startPos */
            iload 1 /* width */
            iadd
            aload 0 /* text */
            invokevirtual java.lang.String.length:()I
            if_icmplt 8
         7: .line 652
            iconst_m1
            ireturn
         8: .line 656
      StackMap locals:
      StackMap stack:
            iload 2 /* startPos */
            iload 1 /* width */
            iadd
            istore 3 /* pos */
            goto 13
         9: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* text */
            iload 3 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* c */
        start local 4 // char c
        10: .line 658
            iload 4 /* c */
            bipush 32
            if_icmpeq 14
            iload 4 /* c */
            bipush 10
            if_icmpeq 14
            iload 4 /* c */
            bipush 13
            if_icmpne 12
        11: .line 659
            goto 14
        end local 4 // char c
        12: .line 656
      StackMap locals:
      StackMap stack:
            iinc 3 /* pos */ -1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* pos */
            iload 2 /* startPos */
            if_icmpge 9
        14: .line 664
      StackMap locals:
      StackMap stack:
            iload 3 /* pos */
            iload 2 /* startPos */
            if_icmple 16
        15: .line 665
            iload 3 /* pos */
            ireturn
        16: .line 669
      StackMap locals:
      StackMap stack:
            iload 2 /* startPos */
            iload 1 /* width */
            iadd
            istore 3 /* pos */
        17: .line 671
            iload 3 /* pos */
            aload 0 /* text */
            invokevirtual java.lang.String.length:()I
            if_icmpne 18
            iconst_m1
            goto 19
      StackMap locals:
      StackMap stack:
        18: iload 3 /* pos */
      StackMap locals:
      StackMap stack: int
        19: ireturn
        end local 3 // int pos
        end local 2 // int startPos
        end local 1 // int width
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      text  Ljava/lang/String;
            0   20     1     width  I
            0   20     2  startPos  I
            1   20     3       pos  I
           10   12     4         c  C
    MethodParameters:
          Name  Flags
      text      
      width     
      startPos  

  public static java.lang.String createPadding(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // int len
         0: .line 681
            iload 0 /* len */
            newarray 5
            astore 1 /* padding */
        start local 1 // char[] padding
         1: .line 682
            aload 1 /* padding */
            bipush 32
            invokestatic java.util.Arrays.fill:([CC)V
         2: .line 684
            new java.lang.String
            dup
            aload 1 /* padding */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 1 // char[] padding
        end local 0 // int len
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0      len  I
            1    3     1  padding  [C
    MethodParameters:
      Name  Flags
      len   

  public static java.lang.String rtrim(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String s
         0: .line 694
            aload 0 /* s */
            ifnull 1
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 695
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            areturn
         2: .line 698
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* pos */
        start local 1 // int pos
         3: .line 700
            goto 5
         4: .line 701
      StackMap locals: int
      StackMap stack:
            iinc 1 /* pos */ -1
         5: .line 700
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            ifle 6
            aload 0 /* s */
            iload 1 /* pos */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 4
         6: .line 704
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iconst_0
            iload 1 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int pos
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     s  Ljava/lang/String;
            3    7     1   pos  I
    MethodParameters:
      Name  Flags
      s     

  private static int lambda$0(io.vertx.core.cli.Option, io.vertx.core.cli.Option);
    descriptor: (Lio/vertx/core/cli/Option;Lio/vertx/core/cli/Option;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option opt1
        start local 1 // io.vertx.core.cli.Option opt2
         0: .line 84
            aload 0 /* opt1 */
            invokevirtual io.vertx.core.cli.Option.getName:()Ljava/lang/String;
            aload 1 /* opt2 */
            invokevirtual io.vertx.core.cli.Option.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            ireturn
        end local 1 // io.vertx.core.cli.Option opt2
        end local 0 // io.vertx.core.cli.Option opt1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  opt1  Lio/vertx/core/cli/Option;
            0    1     1  opt2  Lio/vertx/core/cli/Option;
}
SourceFile: "UsageMessageFormatter.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles