public abstract class org.apache.commons.cli.Parser implements org.apache.commons.cli.CommandLineParser
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.commons.cli.Parser
  super_class: java.lang.Object
{
  protected org.apache.commons.cli.CommandLine cmd;
    descriptor: Lorg/apache/commons/cli/CommandLine;
    flags: (0x0004) ACC_PROTECTED

  private org.apache.commons.cli.Options options;
    descriptor: Lorg/apache/commons/cli/Options;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List requiredOptions;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.cli.Parser this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/cli/Parser;

  protected void setOptions(org.apache.commons.cli.Options);
    descriptor: (Lorg/apache/commons/cli/Options;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // org.apache.commons.cli.Options options
         0: .line 47
            aload 0 /* this */
            aload 1 /* options */
            putfield org.apache.commons.cli.Parser.options:Lorg/apache/commons/cli/Options;
         1: .line 48
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* options */
            invokevirtual org.apache.commons.cli.Options.getRequiredOptions:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield org.apache.commons.cli.Parser.requiredOptions:Ljava/util/List;
         2: .line 49
            return
        end local 1 // org.apache.commons.cli.Options options
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/commons/cli/Parser;
            0    3     1  options  Lorg/apache/commons/cli/Options;
    MethodParameters:
         Name  Flags
      options  

  protected org.apache.commons.cli.Options getOptions();
    descriptor: ()Lorg/apache/commons/cli/Options;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.cli.Parser this
         0: .line 53
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.options:Lorg/apache/commons/cli/Options;
            areturn
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/cli/Parser;

  protected java.util.List getRequiredOptions();
    descriptor: ()Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.cli.Parser this
         0: .line 58
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.requiredOptions:Ljava/util/List;
            areturn
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/cli/Parser;

  protected abstract java.lang.String[] flatten(org.apache.commons.cli.Options, java.lang.String[], boolean);
    descriptor: (Lorg/apache/commons/cli/Options;[Ljava/lang/String;Z)[Ljava/lang/String;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.apache.commons.cli.ParseException
    MethodParameters:
                 Name  Flags
      opts             
      arguments        
      stopAtNonOption  

  public org.apache.commons.cli.CommandLine parse(org.apache.commons.cli.Options, java.lang.String[]);
    descriptor: (Lorg/apache/commons/cli/Options;[Ljava/lang/String;)Lorg/apache/commons/cli/CommandLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // org.apache.commons.cli.Options options
        start local 2 // java.lang.String[] arguments
         0: .line 88
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* arguments */
            aconst_null
            iconst_0
            invokevirtual org.apache.commons.cli.Parser.parse:(Lorg/apache/commons/cli/Options;[Ljava/lang/String;Ljava/util/Properties;Z)Lorg/apache/commons/cli/CommandLine;
            areturn
        end local 2 // java.lang.String[] arguments
        end local 1 // org.apache.commons.cli.Options options
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/commons/cli/Parser;
            0    1     1    options  Lorg/apache/commons/cli/Options;
            0    1     2  arguments  [Ljava/lang/String;
    Exceptions:
      throws org.apache.commons.cli.ParseException
    MethodParameters:
           Name  Flags
      options    
      arguments  

  public org.apache.commons.cli.CommandLine parse(org.apache.commons.cli.Options, java.lang.String[], java.util.Properties);
    descriptor: (Lorg/apache/commons/cli/Options;[Ljava/lang/String;Ljava/util/Properties;)Lorg/apache/commons/cli/CommandLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // org.apache.commons.cli.Options options
        start local 2 // java.lang.String[] arguments
        start local 3 // java.util.Properties properties
         0: .line 105
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* arguments */
            aload 3 /* properties */
            iconst_0
            invokevirtual org.apache.commons.cli.Parser.parse:(Lorg/apache/commons/cli/Options;[Ljava/lang/String;Ljava/util/Properties;Z)Lorg/apache/commons/cli/CommandLine;
            areturn
        end local 3 // java.util.Properties properties
        end local 2 // java.lang.String[] arguments
        end local 1 // org.apache.commons.cli.Options options
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/commons/cli/Parser;
            0    1     1     options  Lorg/apache/commons/cli/Options;
            0    1     2   arguments  [Ljava/lang/String;
            0    1     3  properties  Ljava/util/Properties;
    Exceptions:
      throws org.apache.commons.cli.ParseException
    MethodParameters:
            Name  Flags
      options     
      arguments   
      properties  

  public org.apache.commons.cli.CommandLine parse(org.apache.commons.cli.Options, java.lang.String[], boolean);
    descriptor: (Lorg/apache/commons/cli/Options;[Ljava/lang/String;Z)Lorg/apache/commons/cli/CommandLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // org.apache.commons.cli.Options options
        start local 2 // java.lang.String[] arguments
        start local 3 // boolean stopAtNonOption
         0: .line 123
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* arguments */
            aconst_null
            iload 3 /* stopAtNonOption */
            invokevirtual org.apache.commons.cli.Parser.parse:(Lorg/apache/commons/cli/Options;[Ljava/lang/String;Ljava/util/Properties;Z)Lorg/apache/commons/cli/CommandLine;
            areturn
        end local 3 // boolean stopAtNonOption
        end local 2 // java.lang.String[] arguments
        end local 1 // org.apache.commons.cli.Options options
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lorg/apache/commons/cli/Parser;
            0    1     1          options  Lorg/apache/commons/cli/Options;
            0    1     2        arguments  [Ljava/lang/String;
            0    1     3  stopAtNonOption  Z
    Exceptions:
      throws org.apache.commons.cli.ParseException
    MethodParameters:
                 Name  Flags
      options          
      arguments        
      stopAtNonOption  

  public org.apache.commons.cli.CommandLine parse(org.apache.commons.cli.Options, java.lang.String[], java.util.Properties, boolean);
    descriptor: (Lorg/apache/commons/cli/Options;[Ljava/lang/String;Ljava/util/Properties;Z)Lorg/apache/commons/cli/CommandLine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // org.apache.commons.cli.Options options
        start local 2 // java.lang.String[] arguments
        start local 3 // java.util.Properties properties
        start local 4 // boolean stopAtNonOption
         0: .line 149
            aload 1 /* options */
            invokevirtual org.apache.commons.cli.Options.helpOptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 3
      StackMap locals: org.apache.commons.cli.Parser org.apache.commons.cli.Options java.lang.String[] java.util.Properties int top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.cli.Option
            astore 5 /* opt */
        start local 5 // org.apache.commons.cli.Option opt
         2: .line 151
            aload 5 /* opt */
            invokevirtual org.apache.commons.cli.Option.clearValues:()V
        end local 5 // org.apache.commons.cli.Option opt
         3: .line 149
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 155
            aload 1 /* options */
            invokevirtual org.apache.commons.cli.Options.getOptionGroups:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals:
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.commons.cli.OptionGroup
            astore 5 /* group */
        start local 5 // org.apache.commons.cli.OptionGroup group
         6: .line 157
            aload 5 /* group */
            aconst_null
            invokevirtual org.apache.commons.cli.OptionGroup.setSelected:(Lorg/apache/commons/cli/Option;)V
        end local 5 // org.apache.commons.cli.OptionGroup group
         7: .line 155
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 161
            aload 0 /* this */
            aload 1 /* options */
            invokevirtual org.apache.commons.cli.Parser.setOptions:(Lorg/apache/commons/cli/Options;)V
         9: .line 163
            aload 0 /* this */
            new org.apache.commons.cli.CommandLine
            dup
            invokespecial org.apache.commons.cli.CommandLine.<init>:()V
            putfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
        10: .line 165
            iconst_0
            istore 5 /* eatTheRest */
        start local 5 // boolean eatTheRest
        11: .line 167
            aload 2 /* arguments */
            ifnonnull 13
        12: .line 169
            iconst_0
            anewarray java.lang.String
            astore 2 /* arguments */
        13: .line 172
      StackMap locals: org.apache.commons.cli.Parser org.apache.commons.cli.Options java.lang.String[] java.util.Properties int int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getOptions:()Lorg/apache/commons/cli/Options;
            aload 2 /* arguments */
            iload 4 /* stopAtNonOption */
            invokevirtual org.apache.commons.cli.Parser.flatten:(Lorg/apache/commons/cli/Options;[Ljava/lang/String;Z)[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            astore 6 /* tokenList */
        start local 6 // java.util.List tokenList
        14: .line 174
            aload 6 /* tokenList */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 7 /* iterator */
        start local 7 // java.util.ListIterator iterator
        15: .line 177
            goto 42
        16: .line 179
      StackMap locals: java.util.List java.util.ListIterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* t */
        start local 8 // java.lang.String t
        17: .line 182
            ldc "--"
            aload 8 /* t */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 184
            iconst_1
            istore 5 /* eatTheRest */
        19: .line 185
            goto 36
        20: .line 188
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "-"
            aload 8 /* t */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        21: .line 190
            iload 4 /* stopAtNonOption */
            ifeq 24
        22: .line 192
            iconst_1
            istore 5 /* eatTheRest */
        23: .line 193
            goto 36
        24: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            aload 8 /* t */
            invokevirtual org.apache.commons.cli.CommandLine.addArg:(Ljava/lang/String;)V
        25: .line 198
            goto 36
        26: .line 201
      StackMap locals:
      StackMap stack:
            aload 8 /* t */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 33
        27: .line 203
            iload 4 /* stopAtNonOption */
            ifeq 31
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getOptions:()Lorg/apache/commons/cli/Options;
            aload 8 /* t */
            invokevirtual org.apache.commons.cli.Options.hasOption:(Ljava/lang/String;)Z
            ifne 31
        28: .line 205
            iconst_1
            istore 5 /* eatTheRest */
        29: .line 206
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            aload 8 /* t */
            invokevirtual org.apache.commons.cli.CommandLine.addArg:(Ljava/lang/String;)V
        30: .line 207
            goto 36
        31: .line 210
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* t */
            aload 7 /* iterator */
            invokevirtual org.apache.commons.cli.Parser.processOption:(Ljava/lang/String;Ljava/util/ListIterator;)V
        32: .line 212
            goto 36
        33: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            aload 8 /* t */
            invokevirtual org.apache.commons.cli.CommandLine.addArg:(Ljava/lang/String;)V
        34: .line 219
            iload 4 /* stopAtNonOption */
            ifeq 36
        35: .line 221
            iconst_1
            istore 5 /* eatTheRest */
        36: .line 226
      StackMap locals:
      StackMap stack:
            iload 5 /* eatTheRest */
            ifeq 42
        37: .line 228
            goto 41
        38: .line 230
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* str */
        start local 9 // java.lang.String str
        39: .line 233
            ldc "--"
            aload 9 /* str */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 41
        40: .line 235
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            aload 9 /* str */
            invokevirtual org.apache.commons.cli.CommandLine.addArg:(Ljava/lang/String;)V
        end local 9 // java.lang.String str
        41: .line 228
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 38
        end local 8 // java.lang.String t
        42: .line 177
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 16
        43: .line 241
            aload 0 /* this */
            aload 3 /* properties */
            invokevirtual org.apache.commons.cli.Parser.processProperties:(Ljava/util/Properties;)V
        44: .line 242
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.checkRequiredOptions:()V
        45: .line 244
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            areturn
        end local 7 // java.util.ListIterator iterator
        end local 6 // java.util.List tokenList
        end local 5 // boolean eatTheRest
        end local 4 // boolean stopAtNonOption
        end local 3 // java.util.Properties properties
        end local 2 // java.lang.String[] arguments
        end local 1 // org.apache.commons.cli.Options options
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   46     0             this  Lorg/apache/commons/cli/Parser;
            0   46     1          options  Lorg/apache/commons/cli/Options;
            0   46     2        arguments  [Ljava/lang/String;
            0   46     3       properties  Ljava/util/Properties;
            0   46     4  stopAtNonOption  Z
            2    3     5              opt  Lorg/apache/commons/cli/Option;
            6    7     5            group  Lorg/apache/commons/cli/OptionGroup;
           11   46     5       eatTheRest  Z
           14   46     6        tokenList  Ljava/util/List<Ljava/lang/String;>;
           15   46     7         iterator  Ljava/util/ListIterator<Ljava/lang/String;>;
           17   42     8                t  Ljava/lang/String;
           39   41     9              str  Ljava/lang/String;
    Exceptions:
      throws org.apache.commons.cli.ParseException
    MethodParameters:
                 Name  Flags
      options          
      arguments        
      properties       
      stopAtNonOption  

  protected void processProperties(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // java.util.Properties properties
         0: .line 256
            aload 1 /* properties */
            ifnonnull 2
         1: .line 258
            return
         2: .line 261
      StackMap locals:
      StackMap stack:
            aload 1 /* properties */
            invokevirtual java.util.Properties.propertyNames:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         3: goto 26
         4: .line 263
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 3 /* option */
        start local 3 // java.lang.String option
         5: .line 265
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.options:Lorg/apache/commons/cli/Options;
            aload 3 /* option */
            invokevirtual org.apache.commons.cli.Options.getOption:(Ljava/lang/String;)Lorg/apache/commons/cli/Option;
            astore 4 /* opt */
        start local 4 // org.apache.commons.cli.Option opt
         6: .line 266
            aload 4 /* opt */
            ifnonnull 8
         7: .line 268
            new org.apache.commons.cli.UnrecognizedOptionException
            dup
            ldc "Default option wasn't defined"
            aload 3 /* option */
            invokespecial org.apache.commons.cli.UnrecognizedOptionException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         8: .line 272
      StackMap locals: java.lang.String org.apache.commons.cli.Option
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.options:Lorg/apache/commons/cli/Options;
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.Options.getOptionGroup:(Lorg/apache/commons/cli/Option;)Lorg/apache/commons/cli/OptionGroup;
            astore 5 /* group */
        start local 5 // org.apache.commons.cli.OptionGroup group
         9: .line 273
            aload 5 /* group */
            ifnull 10
            aload 5 /* group */
            invokevirtual org.apache.commons.cli.OptionGroup.getSelected:()Ljava/lang/String;
            ifnull 10
            iconst_1
            goto 11
      StackMap locals: org.apache.commons.cli.OptionGroup
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* selected */
        start local 6 // boolean selected
        12: .line 275
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            aload 3 /* option */
            invokevirtual org.apache.commons.cli.CommandLine.hasOption:(Ljava/lang/String;)Z
            ifne 26
            iload 6 /* selected */
            ifne 26
        13: .line 278
            aload 1 /* properties */
            aload 3 /* option */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
        14: .line 280
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.Option.hasArg:()Z
            ifeq 20
        15: .line 282
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.Option.getValues:()[Ljava/lang/String;
            ifnull 16
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.Option.getValues:()[Ljava/lang/String;
            arraylength
            ifne 24
        16: .line 286
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 4 /* opt */
            aload 7 /* value */
            invokevirtual org.apache.commons.cli.Option.addValueForProcessing:(Ljava/lang/String;)V
        17: .line 287
            goto 24
        18: .line 288
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
        19: .line 293
            goto 24
        20: .line 294
      StackMap locals:
      StackMap stack:
            ldc "yes"
            aload 7 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 24
        21: .line 295
            ldc "true"
            aload 7 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 24
        22: .line 296
            ldc "1"
            aload 7 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 24
        23: .line 300
            goto 26
        24: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.CommandLine.addOption:(Lorg/apache/commons/cli/Option;)V
        25: .line 304
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.Parser.updateRequiredOptions:(Lorg/apache/commons/cli/Option;)V
        end local 7 // java.lang.String value
        end local 6 // boolean selected
        end local 5 // org.apache.commons.cli.OptionGroup group
        end local 4 // org.apache.commons.cli.Option opt
        end local 3 // java.lang.String option
        26: .line 261
      StackMap locals: org.apache.commons.cli.Parser java.util.Properties java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 2 // java.util.Enumeration e
        27: .line 307
            return
        end local 1 // java.util.Properties properties
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0        this  Lorg/apache/commons/cli/Parser;
            0   28     1  properties  Ljava/util/Properties;
            3   27     2           e  Ljava/util/Enumeration<*>;
            5   26     3      option  Ljava/lang/String;
            6   26     4         opt  Lorg/apache/commons/cli/Option;
            9   26     5       group  Lorg/apache/commons/cli/OptionGroup;
           12   26     6    selected  Z
           14   26     7       value  Ljava/lang/String;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.RuntimeException
    Exceptions:
      throws org.apache.commons.cli.ParseException
    MethodParameters:
            Name  Flags
      properties  

  protected void checkRequiredOptions();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.cli.Parser this
         0: .line 318
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getRequiredOptions:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 2
         1: .line 320
            new org.apache.commons.cli.MissingOptionException
            dup
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getRequiredOptions:()Ljava/util/List;
            invokespecial org.apache.commons.cli.MissingOptionException.<init>:(Ljava/util/List;)V
            athrow
         2: .line 322
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/cli/Parser;
    Exceptions:
      throws org.apache.commons.cli.MissingOptionException

  public void processArgs(org.apache.commons.cli.Option, java.util.ListIterator<java.lang.String>);
    descriptor: (Lorg/apache/commons/cli/Option;Ljava/util/ListIterator;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // org.apache.commons.cli.Option opt
        start local 2 // java.util.ListIterator iter
         0: .line 338
            goto 10
         1: .line 340
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* str */
        start local 3 // java.lang.String str
         2: .line 343
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getOptions:()Lorg/apache/commons/cli/Options;
            aload 3 /* str */
            invokevirtual org.apache.commons.cli.Options.hasOption:(Ljava/lang/String;)Z
            ifeq 5
            aload 3 /* str */
            ldc "-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 345
            aload 2 /* iter */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            pop
         4: .line 346
            goto 11
         5: .line 352
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* opt */
            aload 3 /* str */
            invokestatic org.apache.commons.cli.Util.stripLeadingAndTrailingQuotes:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.commons.cli.Option.addValueForProcessing:(Ljava/lang/String;)V
         6: .line 353
            goto 10
         7: .line 354
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            pop
         8: .line 356
            aload 2 /* iter */
            invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
            pop
         9: .line 357
            goto 11
        end local 3 // java.lang.String str
        10: .line 338
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 1
        11: .line 361
      StackMap locals:
      StackMap stack:
            aload 1 /* opt */
            invokevirtual org.apache.commons.cli.Option.getValues:()[Ljava/lang/String;
            ifnonnull 13
            aload 1 /* opt */
            invokevirtual org.apache.commons.cli.Option.hasOptionalArg:()Z
            ifne 13
        12: .line 363
            new org.apache.commons.cli.MissingArgumentException
            dup
            aload 1 /* opt */
            invokespecial org.apache.commons.cli.MissingArgumentException.<init>:(Lorg/apache/commons/cli/Option;)V
            athrow
        13: .line 365
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.ListIterator iter
        end local 1 // org.apache.commons.cli.Option opt
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/commons/cli/Parser;
            0   14     1   opt  Lorg/apache/commons/cli/Option;
            0   14     2  iter  Ljava/util/ListIterator<Ljava/lang/String;>;
            2   10     3   str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.RuntimeException
    Exceptions:
      throws org.apache.commons.cli.ParseException
    Signature: (Lorg/apache/commons/cli/Option;Ljava/util/ListIterator<Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      opt   
      iter  

  protected void processOption(java.lang.String, java.util.ListIterator<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/ListIterator;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // java.lang.String arg
        start local 2 // java.util.ListIterator iter
         0: .line 378
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getOptions:()Lorg/apache/commons/cli/Options;
            aload 1 /* arg */
            invokevirtual org.apache.commons.cli.Options.hasOption:(Ljava/lang/String;)Z
            istore 3 /* hasOption */
        start local 3 // boolean hasOption
         1: .line 381
            iload 3 /* hasOption */
            ifne 3
         2: .line 383
            new org.apache.commons.cli.UnrecognizedOptionException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized option: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* arg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* arg */
            invokespecial org.apache.commons.cli.UnrecognizedOptionException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         3: .line 387
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getOptions:()Lorg/apache/commons/cli/Options;
            aload 1 /* arg */
            invokevirtual org.apache.commons.cli.Options.getOption:(Ljava/lang/String;)Lorg/apache/commons/cli/Option;
            invokevirtual org.apache.commons.cli.Option.clone:()Ljava/lang/Object;
            checkcast org.apache.commons.cli.Option
            astore 4 /* opt */
        start local 4 // org.apache.commons.cli.Option opt
         4: .line 390
            aload 0 /* this */
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.Parser.updateRequiredOptions:(Lorg/apache/commons/cli/Option;)V
         5: .line 393
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.Option.hasArg:()Z
            ifeq 7
         6: .line 395
            aload 0 /* this */
            aload 4 /* opt */
            aload 2 /* iter */
            invokevirtual org.apache.commons.cli.Parser.processArgs:(Lorg/apache/commons/cli/Option;Ljava/util/ListIterator;)V
         7: .line 399
      StackMap locals: org.apache.commons.cli.Option
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.cli.Parser.cmd:Lorg/apache/commons/cli/CommandLine;
            aload 4 /* opt */
            invokevirtual org.apache.commons.cli.CommandLine.addOption:(Lorg/apache/commons/cli/Option;)V
         8: .line 400
            return
        end local 4 // org.apache.commons.cli.Option opt
        end local 3 // boolean hasOption
        end local 2 // java.util.ListIterator iter
        end local 1 // java.lang.String arg
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/commons/cli/Parser;
            0    9     1        arg  Ljava/lang/String;
            0    9     2       iter  Ljava/util/ListIterator<Ljava/lang/String;>;
            1    9     3  hasOption  Z
            4    9     4        opt  Lorg/apache/commons/cli/Option;
    Exceptions:
      throws org.apache.commons.cli.ParseException
    Signature: (Ljava/lang/String;Ljava/util/ListIterator<Ljava/lang/String;>;)V
    MethodParameters:
      Name  Flags
      arg   
      iter  

  private void updateRequiredOptions(org.apache.commons.cli.Option);
    descriptor: (Lorg/apache/commons/cli/Option;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.cli.Parser this
        start local 1 // org.apache.commons.cli.Option opt
         0: .line 411
            aload 1 /* opt */
            invokevirtual org.apache.commons.cli.Option.isRequired:()Z
            ifeq 2
         1: .line 413
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getRequiredOptions:()Ljava/util/List;
            aload 1 /* opt */
            invokevirtual org.apache.commons.cli.Option.getKey:()Ljava/lang/String;
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 418
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getOptions:()Lorg/apache/commons/cli/Options;
            aload 1 /* opt */
            invokevirtual org.apache.commons.cli.Options.getOptionGroup:(Lorg/apache/commons/cli/Option;)Lorg/apache/commons/cli/OptionGroup;
            ifnull 7
         3: .line 420
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getOptions:()Lorg/apache/commons/cli/Options;
            aload 1 /* opt */
            invokevirtual org.apache.commons.cli.Options.getOptionGroup:(Lorg/apache/commons/cli/Option;)Lorg/apache/commons/cli/OptionGroup;
            astore 2 /* group */
        start local 2 // org.apache.commons.cli.OptionGroup group
         4: .line 422
            aload 2 /* group */
            invokevirtual org.apache.commons.cli.OptionGroup.isRequired:()Z
            ifeq 6
         5: .line 424
            aload 0 /* this */
            invokevirtual org.apache.commons.cli.Parser.getRequiredOptions:()Ljava/util/List;
            aload 2 /* group */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         6: .line 427
      StackMap locals: org.apache.commons.cli.OptionGroup
      StackMap stack:
            aload 2 /* group */
            aload 1 /* opt */
            invokevirtual org.apache.commons.cli.OptionGroup.setSelected:(Lorg/apache/commons/cli/Option;)V
        end local 2 // org.apache.commons.cli.OptionGroup group
         7: .line 429
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.cli.Option opt
        end local 0 // org.apache.commons.cli.Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/commons/cli/Parser;
            0    8     1    opt  Lorg/apache/commons/cli/Option;
            4    7     2  group  Lorg/apache/commons/cli/OptionGroup;
    Exceptions:
      throws org.apache.commons.cli.ParseException
    MethodParameters:
      Name  Flags
      opt   
}
SourceFile: "Parser.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()