public class io.vertx.core.cli.impl.DefaultParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.cli.impl.DefaultParser
  super_class: java.lang.Object
{
  protected java.lang.String token;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected io.vertx.core.cli.Option current;
    descriptor: Lio/vertx/core/cli/Option;
    flags: (0x0004) ACC_PROTECTED

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

  private io.vertx.core.cli.impl.DefaultCommandLine commandLine;
    descriptor: Lio/vertx/core/cli/impl/DefaultCommandLine;
    flags: (0x0002) ACC_PRIVATE

  private boolean skipParsing;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.cli.CLI cli;
    descriptor: Lio/vertx/core/cli/CLI;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/impl/DefaultParser;

  static java.lang.String stripLeadingHyphens(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String str
         0: .line 47
            aload 0 /* str */
            ifnonnull 2
         1: .line 48
            aconst_null
            areturn
         2: .line 50
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 51
            aload 0 /* str */
            iconst_2
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         4: .line 52
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 53
            aload 0 /* str */
            iconst_1
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         6: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            areturn
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0   str  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  static java.lang.String stripLeadingAndTrailingQuotes(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String str
         0: .line 68
            aload 0 /* str */
            invokevirtual java.lang.String.length:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 69
            iload 1 /* length */
            iconst_1
            if_icmple 3
            aload 0 /* str */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 0 /* str */
            ldc "\""
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 3
            aload 0 /* str */
            iconst_1
            iload 1 /* length */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 34
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 3
         2: .line 70
            aload 0 /* str */
            iconst_1
            iload 1 /* length */
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 0 /* str */
         3: .line 73
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            areturn
        end local 1 // int length
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0     str  Ljava/lang/String;
            1    4     1  length  I
    MethodParameters:
      Name  Flags
      str   

  public io.vertx.core.cli.CommandLine parse(io.vertx.core.cli.CLI, java.util.List<java.lang.String>);
    descriptor: (Lio/vertx/core/cli/CLI;Ljava/util/List;)Lio/vertx/core/cli/CommandLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // io.vertx.core.cli.CLI cli
        start local 2 // java.util.List cla
         0: .line 78
            aload 0 /* this */
            aload 1 /* cli */
            aload 2 /* cla */
            iconst_1
            invokevirtual io.vertx.core.cli.impl.DefaultParser.parse:(Lio/vertx/core/cli/CLI;Ljava/util/List;Z)Lio/vertx/core/cli/CommandLine;
            areturn
        end local 2 // java.util.List cla
        end local 1 // io.vertx.core.cli.CLI cli
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/impl/DefaultParser;
            0    1     1   cli  Lio/vertx/core/cli/CLI;
            0    1     2   cla  Ljava/util/List<Ljava/lang/String;>;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    Signature: (Lio/vertx/core/cli/CLI;Ljava/util/List<Ljava/lang/String;>;)Lio/vertx/core/cli/CommandLine;
    MethodParameters:
      Name  Flags
      cli   
      cla   

  public io.vertx.core.cli.CommandLine parse(io.vertx.core.cli.CLI, java.util.List<java.lang.String>, boolean);
    descriptor: (Lio/vertx/core/cli/CLI;Ljava/util/List;Z)Lio/vertx/core/cli/CommandLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=4
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // io.vertx.core.cli.CLI cli
        start local 2 // java.util.List cla
        start local 3 // boolean validate
         0: .line 83
            aload 0 /* this */
            aload 1 /* cli */
            invokestatic io.vertx.core.cli.CommandLine.create:(Lio/vertx/core/cli/CLI;)Lio/vertx/core/cli/CommandLine;
            checkcast io.vertx.core.cli.impl.DefaultCommandLine
            putfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
         1: .line 84
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
         2: .line 85
            aload 0 /* this */
            iconst_0
            putfield io.vertx.core.cli.impl.DefaultParser.skipParsing:Z
         3: .line 86
            aload 0 /* this */
            aload 1 /* cli */
            putfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
         4: .line 89
            iconst_0
            istore 4 /* current */
        start local 4 // int current
         5: .line 90
            aload 1 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals: io.vertx.core.cli.impl.DefaultParser io.vertx.core.cli.CLI java.util.List int int top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Argument
            astore 5 /* argument */
        start local 5 // io.vertx.core.cli.Argument argument
         7: .line 91
            aload 5 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            iconst_m1
            if_icmpne 11
         8: .line 92
            aload 5 /* argument */
            iload 4 /* current */
            invokevirtual io.vertx.core.cli.Argument.setIndex:(I)Lio/vertx/core/cli/Argument;
            pop
         9: .line 93
            iinc 4 /* current */ 1
        10: .line 94
            goto 12
        11: .line 95
      StackMap locals: io.vertx.core.cli.impl.DefaultParser io.vertx.core.cli.CLI java.util.List int int io.vertx.core.cli.Argument java.util.Iterator
      StackMap stack:
            aload 5 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            iconst_1
            iadd
            istore 4 /* current */
        end local 5 // io.vertx.core.cli.Argument argument
        12: .line 90
      StackMap locals: io.vertx.core.cli.impl.DefaultParser io.vertx.core.cli.CLI java.util.List int int top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        13: .line 100
            aload 1 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            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/impl/DefaultParser.lambda$0(Lio/vertx/core/cli/Argument;Lio/vertx/core/cli/Argument;)I (6)
                  (Lio/vertx/core/cli/Argument;Lio/vertx/core/cli/Argument;)I
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
        14: .line 108
            aload 1 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic accept()Ljava/util/function/Consumer;
              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;)V
                  io/vertx/core/cli/Option.ensureValidity()V (5)
                  (Lio/vertx/core/cli/Option;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        15: .line 109
            aload 1 /* cli */
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic accept()Ljava/util/function/Consumer;
              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;)V
                  io/vertx/core/cli/Argument.ensureValidity()V (5)
                  (Lio/vertx/core/cli/Argument;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        16: .line 113
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getRequiredOptions:()Ljava/util/List;
            putfield io.vertx.core.cli.impl.DefaultParser.expectedOpts:Ljava/util/List;
        17: .line 115
            aload 2 /* cla */
            ifnull 19
        18: .line 116
            aload 2 /* cla */
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/core/cli/impl/DefaultParser;)Ljava/util/function/Consumer;
              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;)V
                  io/vertx/core/cli/impl/DefaultParser.visit(Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        19: .line 121
      StackMap locals: io.vertx.core.cli.impl.DefaultParser io.vertx.core.cli.CLI java.util.List int int
      StackMap stack:
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.checkRequiredValues:()V
        20: .line 124
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.checkRequiredOptions:()V
        21: .line 127
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.validate:()V
        22: .line 128
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            iconst_1
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.setValidity:(Z)V
        23: .line 129
            goto 28
      StackMap locals:
      StackMap stack: io.vertx.core.cli.CLIException
        24: astore 6 /* e */
        start local 6 // io.vertx.core.cli.CLIException e
        25: .line 130
            iload 3 /* validate */
            ifeq 27
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.isAskingForHelp:()Z
            ifne 27
        26: .line 131
            aload 6 /* e */
            athrow
        27: .line 133
      StackMap locals: io.vertx.core.cli.impl.DefaultParser io.vertx.core.cli.CLI java.util.List int int top io.vertx.core.cli.CLIException
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            iconst_0
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.setValidity:(Z)V
        end local 6 // io.vertx.core.cli.CLIException e
        28: .line 137
      StackMap locals: io.vertx.core.cli.impl.DefaultParser io.vertx.core.cli.CLI java.util.List int int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            areturn
        end local 4 // int current
        end local 3 // boolean validate
        end local 2 // java.util.List cla
        end local 1 // io.vertx.core.cli.CLI cli
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Lio/vertx/core/cli/impl/DefaultParser;
            0   29     1       cli  Lio/vertx/core/cli/CLI;
            0   29     2       cla  Ljava/util/List<Ljava/lang/String;>;
            0   29     3  validate  Z
            5   29     4   current  I
            7   12     5  argument  Lio/vertx/core/cli/Argument;
           25   28     6         e  Lio/vertx/core/cli/CLIException;
      Exception table:
        from    to  target  type
          19    23      24  Class io.vertx.core.cli.CLIException
    Exceptions:
      throws io.vertx.core.cli.CLIException
    Signature: (Lio/vertx/core/cli/CLI;Ljava/util/List<Ljava/lang/String;>;Z)Lio/vertx/core/cli/CommandLine;
    MethodParameters:
          Name  Flags
      cli       
      cla       
      validate  

  protected void validate();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
         0: .line 144
            iconst_0
            istore 1 /* multiValue */
        start local 1 // boolean multiValue
         1: .line 145
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* usedIndexes */
        start local 2 // java.util.List usedIndexes
         2: .line 146
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: io.vertx.core.cli.impl.DefaultParser int java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Argument
            astore 3 /* argument */
        start local 3 // io.vertx.core.cli.Argument argument
         4: .line 147
            aload 2 /* usedIndexes */
            aload 3 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 148
            new io.vertx.core.cli.CLIException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Only one argument can use the index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.core.cli.CLIException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 150
      StackMap locals: io.vertx.core.cli.impl.DefaultParser int java.util.List io.vertx.core.cli.Argument java.util.Iterator
      StackMap stack:
            aload 2 /* usedIndexes */
            aload 3 /* argument */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 151
            iload 1 /* multiValue */
            ifeq 9
         8: .line 152
            new io.vertx.core.cli.CLIException
            dup
            ldc "Only the last argument can be multi-valued"
            invokespecial io.vertx.core.cli.CLIException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 154
      StackMap locals:
      StackMap stack:
            aload 3 /* argument */
            invokevirtual io.vertx.core.cli.Argument.isMultiValued:()Z
            istore 1 /* multiValue */
        end local 3 // io.vertx.core.cli.Argument argument
        10: .line 146
      StackMap locals: io.vertx.core.cli.impl.DefaultParser int java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 158
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
        12: .line 159
            aconst_null
            astore 4 /* current */
        start local 4 // io.vertx.core.cli.Argument current
        13: .line 160
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 15
        14: .line 161
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Argument
            astore 4 /* current */
        15: .line 163
      StackMap locals: io.vertx.core.cli.impl.DefaultParser int java.util.List java.util.Iterator io.vertx.core.cli.Argument
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.allArguments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 24
      StackMap locals: io.vertx.core.cli.impl.DefaultParser int java.util.List java.util.Iterator io.vertx.core.cli.Argument top java.util.Iterator
      StackMap stack:
        16: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* v */
        start local 5 // java.lang.String v
        17: .line 164
            aload 4 /* current */
            ifnull 24
        18: .line 165
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 4 /* current */
            aload 5 /* v */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.setRawValue:(Lio/vertx/core/cli/Argument;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
        19: .line 166
            aload 4 /* current */
            invokevirtual io.vertx.core.cli.Argument.isMultiValued:()Z
            ifne 24
        20: .line 167
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 23
        21: .line 168
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Argument
            astore 4 /* current */
        22: .line 169
            goto 24
        23: .line 170
      StackMap locals: io.vertx.core.cli.impl.DefaultParser int java.util.List java.util.Iterator io.vertx.core.cli.Argument java.lang.String java.util.Iterator
      StackMap stack:
            aconst_null
            astore 4 /* current */
        end local 5 // java.lang.String v
        24: .line 163
      StackMap locals: io.vertx.core.cli.impl.DefaultParser int java.util.List java.util.Iterator io.vertx.core.cli.Argument top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        25: .line 176
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getArguments:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 29
      StackMap locals:
      StackMap stack:
        26: 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
        27: .line 177
            aload 5 /* arg */
            invokevirtual io.vertx.core.cli.Argument.isRequired:()Z
            ifeq 29
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 5 /* arg */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.isArgumentAssigned:(Lio/vertx/core/cli/Argument;)Z
            ifne 29
        28: .line 178
            new io.vertx.core.cli.MissingValueException
            dup
            aload 5 /* arg */
            invokespecial io.vertx.core.cli.MissingValueException.<init>:(Lio/vertx/core/cli/Argument;)V
            athrow
        end local 5 // io.vertx.core.cli.Argument arg
        29: .line 176
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        30: .line 181
            return
        end local 4 // io.vertx.core.cli.Argument current
        end local 3 // java.util.Iterator iterator
        end local 2 // java.util.List usedIndexes
        end local 1 // boolean multiValue
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0         this  Lio/vertx/core/cli/impl/DefaultParser;
            1   31     1   multiValue  Z
            2   31     2  usedIndexes  Ljava/util/List<Ljava/lang/Integer;>;
            4   10     3     argument  Lio/vertx/core/cli/Argument;
           12   31     3     iterator  Ljava/util/Iterator<Lio/vertx/core/cli/Argument;>;
           13   31     4      current  Lio/vertx/core/cli/Argument;
           17   24     5            v  Ljava/lang/String;
           27   29     5          arg  Lio/vertx/core/cli/Argument;
    Exceptions:
      throws io.vertx.core.cli.CLIException

  private java.util.List<io.vertx.core.cli.Option> getRequiredOptions();
    descriptor: ()Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
         0: .line 184
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/core/cli/Option.isRequired()Z (5)
                  (Lio/vertx/core/cli/Option;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/impl/DefaultParser;
    Signature: ()Ljava/util/List<Lio/vertx/core/cli/Option;>;

  private void checkRequiredOptions();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
         0: .line 189
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.expectedOpts:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 2
         1: .line 190
            new io.vertx.core.cli.MissingOptionException
            dup
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.expectedOpts:Ljava/util/List;
            invokespecial io.vertx.core.cli.MissingOptionException.<init>:(Ljava/util/Collection;)V
            athrow
         2: .line 192
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/cli/impl/DefaultParser;
    Exceptions:
      throws io.vertx.core.cli.MissingOptionException

  private void checkRequiredValues();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
         0: .line 195
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            ifnull 3
         1: .line 196
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.Option.acceptValue:()Z
            ifeq 3
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.isOptionAssigned:(Lio/vertx/core/cli/Option;)Z
            ifne 3
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.Option.isFlag:()Z
            ifne 3
         2: .line 197
            new io.vertx.core.cli.MissingValueException
            dup
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            invokespecial io.vertx.core.cli.MissingValueException.<init>:(Lio/vertx/core/cli/Option;)V
            athrow
         3: .line 200
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/core/cli/impl/DefaultParser;
    Exceptions:
      throws io.vertx.core.cli.MissingValueException

  private void visit(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 203
            aload 0 /* this */
            aload 1 /* token */
            putfield io.vertx.core.cli.impl.DefaultParser.token:Ljava/lang/String;
         1: .line 204
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.skipParsing:Z
            ifeq 4
         2: .line 205
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addArgumentValue:(Ljava/lang/String;)Lio/vertx/core/cli/CommandLine;
            pop
         3: .line 206
            goto 17
      StackMap locals:
      StackMap stack:
         4: aload 1 /* token */
            ldc "--"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 207
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.cli.impl.DefaultParser.skipParsing:Z
         6: .line 208
            goto 17
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            ifnull 10
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.Option.acceptValue:()Z
            ifeq 10
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.isValue:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 209
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            aload 1 /* token */
            invokestatic io.vertx.core.cli.impl.DefaultParser.stripLeadingAndTrailingQuotes:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addRawValue:(Lio/vertx/core/cli/Option;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
         9: .line 210
            goto 17
      StackMap locals:
      StackMap stack:
        10: aload 1 /* token */
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        11: .line 211
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleLongOption:(Ljava/lang/String;)V
        12: .line 212
            goto 17
      StackMap locals:
      StackMap stack:
        13: aload 1 /* token */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 16
            ldc "-"
            aload 1 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        14: .line 213
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleShortAndLongOption:(Ljava/lang/String;)V
        15: .line 214
            goto 17
        16: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleArgument:(Ljava/lang/String;)V
        17: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            ifnull 19
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.acceptMoreValues:(Lio/vertx/core/cli/Option;)Z
            ifne 19
        18: .line 219
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
        19: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0   20     1  token  Ljava/lang/String;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    MethodParameters:
       Name  Flags
      token  

  private boolean isValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 230
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.isOption:(Ljava/lang/String;)Z
            ifeq 1
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.isNegativeNumber:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0    2     1  token  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      token  

  private boolean isNegativeNumber(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 242
            aload 1 /* token */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            pop2
         1: .line 243
            iconst_1
            ireturn
         2: .line 244
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         3: .line 245
            iconst_0
            ireturn
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0    4     1  token  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    MethodParameters:
       Name  Flags
      token  

  private boolean isOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 256
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.isLongOption:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.isShortOption:(Ljava/lang/String;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0    2     1  token  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      token  

  private boolean isShortOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 267
            aload 1 /* token */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* token */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmplt 1
            aload 0 /* this */
            aload 1 /* token */
            iconst_1
            iconst_2
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual io.vertx.core.cli.impl.DefaultParser.hasOptionWithShortName:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0    2     1  token  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      token  

  private boolean isLongOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 277
            aload 1 /* token */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* token */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 2
         1: .line 278
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 281
      StackMap locals:
      StackMap stack:
            aload 1 /* token */
            ldc "="
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* pos */
        start local 2 // int pos
         3: .line 282
            iload 2 /* pos */
            iconst_m1
            if_icmpne 4
            aload 1 /* token */
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 1 /* token */
            iconst_0
            iload 2 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         5: astore 3 /* t */
        start local 3 // java.lang.String t
         6: .line 284
            aload 0 /* this */
            aload 3 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getMatchingOptions:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 8
         7: .line 286
            iconst_1
            ireturn
         8: .line 287
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getLongPrefix:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 10
            aload 1 /* token */
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 10
         9: .line 289
            iconst_1
            ireturn
        10: .line 292
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.lang.String t
        end local 2 // int pos
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0   11     1  token  Ljava/lang/String;
            3   11     2    pos  I
            6   11     3      t  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      token  

  private void handleArgument(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 296
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addArgumentValue:(Ljava/lang/String;)Lio/vertx/core/cli/CommandLine;
            pop
         1: .line 297
            return
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0    2     1  token  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      token  

  private void handleLongOption(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 310
            aload 1 /* token */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 3
         1: .line 311
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleLongOptionWithoutEqual:(Ljava/lang/String;)V
         2: .line 312
            goto 4
         3: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleLongOptionWithEqual:(Ljava/lang/String;)V
         4: .line 315
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0    5     1  token  Ljava/lang/String;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    MethodParameters:
       Name  Flags
      token  

  private void handleLongOptionWithoutEqual(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 328
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getMatchingOptions:(Ljava/lang/String;)Ljava/util/List;
            astore 2 /* matchingOpts */
        start local 2 // java.util.List matchingOpts
         1: .line 329
            aload 2 /* matchingOpts */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         2: .line 330
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleArgument:(Ljava/lang/String;)V
         3: .line 331
            goto 8
      StackMap locals: java.util.List
      StackMap stack:
         4: aload 2 /* matchingOpts */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 6
         5: .line 332
            new io.vertx.core.cli.AmbiguousOptionException
            dup
            aload 1 /* token */
            aload 2 /* matchingOpts */
            invokespecial io.vertx.core.cli.AmbiguousOptionException.<init>:(Ljava/lang/String;Ljava/util/List;)V
            athrow
         6: .line 334
      StackMap locals:
      StackMap stack:
            aload 2 /* matchingOpts */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 3 /* option */
        start local 3 // io.vertx.core.cli.Option option
         7: .line 335
            aload 0 /* this */
            aload 3 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
        end local 3 // io.vertx.core.cli.Option option
         8: .line 337
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List matchingOpts
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lio/vertx/core/cli/impl/DefaultParser;
            0    9     1         token  Ljava/lang/String;
            1    9     2  matchingOpts  Ljava/util/List<Lio/vertx/core/cli/Option;>;
            7    8     3        option  Lio/vertx/core/cli/Option;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    MethodParameters:
       Name  Flags
      token  

  private void handleLongOptionWithEqual(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 350
            aload 1 /* token */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* pos */
        start local 2 // int pos
         1: .line 352
            aload 1 /* token */
            iload 2 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         2: .line 354
            aload 1 /* token */
            iconst_0
            iload 2 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* opt */
        start local 4 // java.lang.String opt
         3: .line 356
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getMatchingOptions:(Ljava/lang/String;)Ljava/util/List;
            astore 5 /* matchingOpts */
        start local 5 // java.util.List matchingOpts
         4: .line 357
            aload 5 /* matchingOpts */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 7
         5: .line 358
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleArgument:(Ljava/lang/String;)V
         6: .line 359
            goto 16
      StackMap locals: io.vertx.core.cli.impl.DefaultParser java.lang.String int java.lang.String java.lang.String java.util.List
      StackMap stack:
         7: aload 5 /* matchingOpts */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 9
         8: .line 360
            new io.vertx.core.cli.AmbiguousOptionException
            dup
            aload 4 /* opt */
            aload 5 /* matchingOpts */
            invokespecial io.vertx.core.cli.AmbiguousOptionException.<init>:(Ljava/lang/String;Ljava/util/List;)V
            athrow
         9: .line 362
      StackMap locals:
      StackMap stack:
            aload 5 /* matchingOpts */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 6 /* option */
        start local 6 // io.vertx.core.cli.Option option
        10: .line 363
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 6 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.acceptMoreValues:(Lio/vertx/core/cli/Option;)Z
            ifeq 15
        11: .line 364
            aload 0 /* this */
            aload 6 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
        12: .line 365
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 6 /* option */
            aload 3 /* value */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addRawValue:(Lio/vertx/core/cli/Option;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
        13: .line 366
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
        14: .line 367
            goto 16
        15: .line 368
      StackMap locals: io.vertx.core.cli.Option
      StackMap stack:
            new io.vertx.core.cli.InvalidValueException
            dup
            aload 6 /* option */
            aload 3 /* value */
            invokespecial io.vertx.core.cli.InvalidValueException.<init>:(Lio/vertx/core/cli/Option;Ljava/lang/String;)V
            athrow
        end local 6 // io.vertx.core.cli.Option option
        16: .line 371
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.List matchingOpts
        end local 4 // java.lang.String opt
        end local 3 // java.lang.String value
        end local 2 // int pos
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lio/vertx/core/cli/impl/DefaultParser;
            0   17     1         token  Ljava/lang/String;
            1   17     2           pos  I
            2   17     3         value  Ljava/lang/String;
            3   17     4           opt  Ljava/lang/String;
            4   17     5  matchingOpts  Ljava/util/List<Lio/vertx/core/cli/Option;>;
           10   16     6        option  Lio/vertx/core/cli/Option;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    MethodParameters:
       Name  Flags
      token  

  private void handleShortAndLongOption(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 390
            aload 1 /* token */
            invokestatic io.vertx.core.cli.impl.DefaultParser.stripLeadingHyphens:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* t */
        start local 2 // java.lang.String t
         1: .line 391
            aload 2 /* t */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 393
            aload 2 /* t */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 8
         3: .line 395
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.hasOptionWithShortName:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 396
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
         5: .line 397
            goto 51
         6: .line 398
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleArgument:(Ljava/lang/String;)V
         7: .line 400
            goto 51
      StackMap locals:
      StackMap stack:
         8: iload 3 /* pos */
            iconst_m1
            if_icmpne 32
         9: .line 402
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.hasOptionWithShortName:(Ljava/lang/String;)Z
            ifeq 12
        10: .line 403
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
        11: .line 404
            goto 51
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            aload 2 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getMatchingOptions:(Ljava/lang/String;)Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 15
        13: .line 406
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleLongOptionWithoutEqual:(Ljava/lang/String;)V
        14: .line 407
            goto 51
        15: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getLongPrefix:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* opt */
        start local 4 // java.lang.String opt
        16: .line 410
            aload 4 /* opt */
            ifnull 23
        17: .line 411
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.acceptMoreValues:(Lio/vertx/core/cli/Option;)Z
            ifeq 22
        18: .line 412
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
        19: .line 413
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            aload 2 /* t */
            aload 4 /* opt */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addRawValue:(Lio/vertx/core/cli/Option;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
        20: .line 414
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
        21: .line 415
            goto 51
        22: .line 416
      StackMap locals: java.lang.String
      StackMap stack:
            new io.vertx.core.cli.InvalidValueException
            dup
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            aload 2 /* t */
            aload 4 /* opt */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokespecial io.vertx.core.cli.InvalidValueException.<init>:(Lio/vertx/core/cli/Option;Ljava/lang/String;)V
            athrow
        23: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.isAValidShortOption:(Ljava/lang/String;)Z
            ifeq 30
        24: .line 420
            aload 2 /* t */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* strip */
        start local 5 // java.lang.String strip
        25: .line 421
            aload 0 /* this */
            aload 5 /* strip */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            astore 6 /* option */
        start local 6 // io.vertx.core.cli.Option option
        26: .line 422
            aload 0 /* this */
            aload 6 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
        27: .line 423
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            aload 2 /* t */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addRawValue:(Lio/vertx/core/cli/Option;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
        28: .line 424
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
        end local 6 // io.vertx.core.cli.Option option
        end local 5 // java.lang.String strip
        29: .line 425
            goto 51
        30: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleConcatenatedOptions:(Ljava/lang/String;)V
        end local 4 // java.lang.String opt
        31: .line 430
            goto 51
        32: .line 432
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* opt */
        start local 4 // java.lang.String opt
        33: .line 433
            aload 2 /* t */
            iload 3 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
        34: .line 434
            aload 4 /* opt */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 45
        35: .line 436
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            astore 6 /* option */
        start local 6 // io.vertx.core.cli.Option option
        36: .line 437
            aload 6 /* option */
            ifnull 43
        37: .line 438
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 6 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.acceptMoreValues:(Lio/vertx/core/cli/Option;)Z
            ifeq 42
        38: .line 439
            aload 0 /* this */
            aload 6 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
        39: .line 440
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 6 /* option */
            aload 5 /* value */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addRawValue:(Lio/vertx/core/cli/Option;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
        40: .line 441
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
        41: .line 442
            goto 51
        42: .line 443
      StackMap locals: java.lang.String java.lang.String io.vertx.core.cli.Option
      StackMap stack:
            new io.vertx.core.cli.InvalidValueException
            dup
            aload 6 /* option */
            aload 5 /* value */
            invokespecial io.vertx.core.cli.InvalidValueException.<init>:(Lio/vertx/core/cli/Option;Ljava/lang/String;)V
            athrow
        43: .line 446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleArgument:(Ljava/lang/String;)V
        end local 6 // io.vertx.core.cli.Option option
        44: .line 448
            goto 51
      StackMap locals:
      StackMap stack:
        45: aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.isAValidShortOption:(Ljava/lang/String;)Z
            ifeq 50
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.hasOptionWithLongName:(Ljava/lang/String;)Z
            ifne 50
        46: .line 450
            aload 0 /* this */
            aload 0 /* this */
            aload 4 /* opt */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
        47: .line 451
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            new java.lang.StringBuilder
            dup
            aload 4 /* opt */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addRawValue:(Lio/vertx/core/cli/Option;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
        48: .line 452
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
        49: .line 453
            goto 51
        50: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleLongOptionWithEqual:(Ljava/lang/String;)V
        end local 5 // java.lang.String value
        end local 4 // java.lang.String opt
        51: .line 458
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int pos
        end local 2 // java.lang.String t
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   52     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0   52     1   token  Ljava/lang/String;
            1   52     2       t  Ljava/lang/String;
            2   52     3     pos  I
           16   31     4     opt  Ljava/lang/String;
           25   29     5   strip  Ljava/lang/String;
           26   29     6  option  Lio/vertx/core/cli/Option;
           33   51     4     opt  Ljava/lang/String;
           34   51     5   value  Ljava/lang/String;
           36   44     6  option  Lio/vertx/core/cli/Option;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    MethodParameters:
       Name  Flags
      token  

  private java.lang.String getLongPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 467
            aload 1 /* token */
            invokestatic io.vertx.core.cli.impl.DefaultParser.stripLeadingHyphens:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* t */
        start local 2 // java.lang.String t
         1: .line 470
            aconst_null
            astore 4 /* opt */
        start local 4 // java.lang.String opt
         2: .line 471
            aload 2 /* t */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 472
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack:
            aload 2 /* t */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* prefix */
        start local 5 // java.lang.String prefix
         5: .line 473
            aload 0 /* this */
            aload 5 /* prefix */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.hasOptionWithLongName:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 474
            aload 5 /* prefix */
            astore 4 /* opt */
         7: .line 475
            goto 10
        end local 5 // java.lang.String prefix
         8: .line 471
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iconst_1
            if_icmpgt 4
        10: .line 478
      StackMap locals:
      StackMap stack:
            aload 4 /* opt */
            areturn
        end local 4 // java.lang.String opt
        end local 3 // int i
        end local 2 // java.lang.String t
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0   11     1   token  Ljava/lang/String;
            1   11     2       t  Ljava/lang/String;
            3   11     3       i  I
            2   11     4     opt  Ljava/lang/String;
            5    8     5  prefix  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      token  

  private boolean hasOptionWithLongName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String name
         0: .line 482
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: io.vertx.core.cli.impl.DefaultParser java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 2 /* option */
        start local 2 // io.vertx.core.cli.Option option
         2: .line 483
            aload 1 /* name */
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 484
            iconst_1
            ireturn
        end local 2 // io.vertx.core.cli.Option option
         4: .line 482
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 487
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0    6     1    name  Ljava/lang/String;
            2    4     2  option  Lio/vertx/core/cli/Option;
    MethodParameters:
      Name  Flags
      name  

  private boolean hasOptionWithShortName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String name
         0: .line 491
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: io.vertx.core.cli.impl.DefaultParser java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 2 /* option */
        start local 2 // io.vertx.core.cli.Option option
         2: .line 492
            aload 1 /* name */
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 493
            iconst_1
            ireturn
        end local 2 // io.vertx.core.cli.Option option
         4: .line 491
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 496
            iconst_0
            ireturn
        end local 1 // java.lang.String name
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0    6     1    name  Ljava/lang/String;
            2    4     2  option  Lio/vertx/core/cli/Option;
    MethodParameters:
      Name  Flags
      name  

  private void handleOption(io.vertx.core.cli.Option);
    descriptor: (Lio/vertx/core/cli/Option;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // io.vertx.core.cli.Option option
         0: .line 501
            aload 0 /* this */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.checkRequiredValues:()V
         1: .line 502
            aload 0 /* this */
            aload 1 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.updateRequiredOptions:(Lio/vertx/core/cli/Option;)V
         2: .line 504
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 1 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.setSeenInCommandLine:(Lio/vertx/core/cli/Option;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
         3: .line 505
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 1 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.acceptMoreValues:(Lio/vertx/core/cli/Option;)Z
            ifeq 6
         4: .line 506
            aload 0 /* this */
            aload 1 /* option */
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
         5: .line 507
            goto 7
         6: .line 508
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
         7: .line 510
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.cli.Option option
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0    8     1  option  Lio/vertx/core/cli/Option;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    MethodParameters:
        Name  Flags
      option  

  private void updateRequiredOptions(io.vertx.core.cli.Option);
    descriptor: (Lio/vertx/core/cli/Option;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // io.vertx.core.cli.Option option
         0: .line 518
            aload 1 /* option */
            invokevirtual io.vertx.core.cli.Option.isRequired:()Z
            ifeq 2
         1: .line 519
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.expectedOpts:Ljava/util/List;
            aload 1 /* option */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 521
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.cli.Option option
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0    3     1  option  Lio/vertx/core/cli/Option;
    MethodParameters:
        Name  Flags
      option  

  public io.vertx.core.cli.Option getOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String opt
         0: .line 531
            aload 1 /* opt */
            invokestatic io.vertx.core.cli.impl.DefaultParser.stripLeadingHyphens:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* opt */
         1: .line 532
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: io.vertx.core.cli.impl.DefaultParser java.lang.String top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 2 /* option */
        start local 2 // io.vertx.core.cli.Option option
         3: .line 533
            aload 1 /* opt */
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getShortName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
            aload 1 /* opt */
            aload 2 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 534
      StackMap locals: io.vertx.core.cli.impl.DefaultParser java.lang.String io.vertx.core.cli.Option java.util.Iterator
      StackMap stack:
            aload 2 /* option */
            areturn
        end local 2 // io.vertx.core.cli.Option option
         5: .line 532
      StackMap locals: io.vertx.core.cli.impl.DefaultParser java.lang.String top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 537
            aconst_null
            areturn
        end local 1 // java.lang.String opt
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0    7     1     opt  Ljava/lang/String;
            3    5     2  option  Lio/vertx/core/cli/Option;
    MethodParameters:
      Name  Flags
      opt   

  private boolean isAValidShortOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 541
            aload 1 /* token */
            iconst_0
            iconst_1
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* opt */
        start local 2 // java.lang.String opt
         1: .line 542
            aload 0 /* this */
            aload 2 /* opt */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            astore 3 /* option */
        start local 3 // io.vertx.core.cli.Option option
         2: .line 543
            aload 3 /* option */
            ifnull 3
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 3 /* option */
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.acceptMoreValues:(Lio/vertx/core/cli/Option;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: java.lang.String io.vertx.core.cli.Option
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // io.vertx.core.cli.Option option
        end local 2 // java.lang.String opt
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/vertx/core/cli/impl/DefaultParser;
            0    4     1   token  Ljava/lang/String;
            1    4     2     opt  Ljava/lang/String;
            2    4     3  option  Lio/vertx/core/cli/Option;
    MethodParameters:
       Name  Flags
      token  

  public java.util.List<io.vertx.core.cli.Option> getMatchingOptions(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String opt
         0: .line 553
            aload 1 /* opt */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 554
            aload 1 /* opt */
            invokestatic io.vertx.core.cli.impl.DefaultParser.stripLeadingHyphens:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* opt */
         2: .line 556
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* matching */
        start local 2 // java.util.List matching
         3: .line 559
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.cli:Lio/vertx/core/cli/CLI;
            invokeinterface io.vertx.core.cli.CLI.getOptions:()Ljava/util/List;
            astore 3 /* options */
        start local 3 // java.util.List options
         4: .line 562
            aload 3 /* options */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: io.vertx.core.cli.impl.DefaultParser java.lang.String java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 4 /* option */
        start local 4 // io.vertx.core.cli.Option option
         6: .line 563
            aload 1 /* opt */
            aload 4 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 564
            aload 4 /* option */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 4 // io.vertx.core.cli.Option option
         8: .line 562
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 569
            aload 3 /* options */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals:
      StackMap stack:
        10: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 4 /* option */
        start local 4 // io.vertx.core.cli.Option option
        11: .line 570
            aload 1 /* opt */
            aload 4 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 571
            aload 2 /* matching */
            aload 4 /* option */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.vertx.core.cli.Option option
        13: .line 569
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 575
            aload 3 /* options */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals:
      StackMap stack:
        15: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.cli.Option
            astore 4 /* option */
        start local 4 // io.vertx.core.cli.Option option
        16: .line 576
            aload 4 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            ifnull 18
            aload 4 /* option */
            invokevirtual io.vertx.core.cli.Option.getLongName:()Ljava/lang/String;
            aload 1 /* opt */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 18
        17: .line 577
            aload 2 /* matching */
            aload 4 /* option */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.vertx.core.cli.Option option
        18: .line 575
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 581
            aload 2 /* matching */
            areturn
        end local 3 // java.util.List options
        end local 2 // java.util.List matching
        end local 1 // java.lang.String opt
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lio/vertx/core/cli/impl/DefaultParser;
            0   20     1       opt  Ljava/lang/String;
            3   20     2  matching  Ljava/util/List<Lio/vertx/core/cli/Option;>;
            4   20     3   options  Ljava/util/List<Lio/vertx/core/cli/Option;>;
            6    8     4    option  Lio/vertx/core/cli/Option;
           11   13     4    option  Lio/vertx/core/cli/Option;
           16   18     4    option  Lio/vertx/core/cli/Option;
    Signature: (Ljava/lang/String;)Ljava/util/List<Lio/vertx/core/cli/Option;>;
    MethodParameters:
      Name  Flags
      opt   

  protected void handleConcatenatedOptions(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // io.vertx.core.cli.impl.DefaultParser this
        start local 1 // java.lang.String token
         0: .line 585
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         1: goto 11
         2: .line 586
      StackMap locals: int
      StackMap stack:
            aload 1 /* token */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 3 /* ch */
        start local 3 // java.lang.String ch
         3: .line 588
            aload 0 /* this */
            aload 3 /* ch */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.hasOptionWithShortName:(Ljava/lang/String;)Z
            ifeq 8
         4: .line 589
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* ch */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.getOption:(Ljava/lang/String;)Lio/vertx/core/cli/Option;
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleOption:(Lio/vertx/core/cli/Option;)V
         5: .line 591
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            ifnull 10
            aload 1 /* token */
            invokevirtual java.lang.String.length:()I
            iload 2 /* i */
            iconst_1
            iadd
            if_icmpeq 10
         6: .line 593
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.commandLine:Lio/vertx/core/cli/impl/DefaultCommandLine;
            aload 0 /* this */
            getfield io.vertx.core.cli.impl.DefaultParser.current:Lio/vertx/core/cli/Option;
            aload 1 /* token */
            iload 2 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual io.vertx.core.cli.impl.DefaultCommandLine.addRawValue:(Lio/vertx/core/cli/Option;Ljava/lang/String;)Lio/vertx/core/cli/impl/DefaultCommandLine;
            pop
         7: .line 594
            goto 12
         8: .line 597
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* token */
            invokevirtual io.vertx.core.cli.impl.DefaultParser.handleArgument:(Ljava/lang/String;)V
         9: .line 598
            goto 12
        end local 3 // java.lang.String ch
        10: .line 585
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 1 /* token */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 2 // int i
        12: .line 601
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String token
        end local 0 // io.vertx.core.cli.impl.DefaultParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lio/vertx/core/cli/impl/DefaultParser;
            0   13     1  token  Ljava/lang/String;
            1   12     2      i  I
            3   10     3     ch  Ljava/lang/String;
    Exceptions:
      throws io.vertx.core.cli.CLIException
    MethodParameters:
       Name  Flags
      token  

  private static int lambda$0(io.vertx.core.cli.Argument, io.vertx.core.cli.Argument);
    descriptor: (Lio/vertx/core/cli/Argument;Lio/vertx/core/cli/Argument;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Argument o1
        start local 1 // io.vertx.core.cli.Argument o2
         0: .line 101
            aload 0 /* o1 */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            aload 1 /* o2 */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            if_icmpne 2
         1: .line 102
            iconst_1
            ireturn
         2: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* o1 */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o2 */
            invokevirtual io.vertx.core.cli.Argument.getIndex:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.compareTo:(Ljava/lang/Integer;)I
            ireturn
        end local 1 // io.vertx.core.cli.Argument o2
        end local 0 // io.vertx.core.cli.Argument o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    o1  Lio/vertx/core/cli/Argument;
            0    3     1    o2  Lio/vertx/core/cli/Argument;
}
SourceFile: "DefaultParser.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles