abstract class picocli.CommandLine$Model$ArgSpec$Builder<T extends picocli.CommandLine$Model$ArgSpec$Builder<T>>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: picocli.CommandLine$Model$ArgSpec$Builder
  super_class: java.lang.Object
{
  private java.lang.Object userObject;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private picocli.CommandLine$Range arity;
    descriptor: Lpicocli/CommandLine$Range;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

  private java.lang.Class<?> type;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Class<*>;

  private java.lang.Class<?>[] auxiliaryTypes;
    descriptor: [Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Ljava/lang/Class<*>;

  private picocli.CommandLine$Model$ITypeInfo typeInfo;
    descriptor: Lpicocli/CommandLine$Model$ITypeInfo;
    flags: (0x0002) ACC_PRIVATE

  private picocli.CommandLine$ITypeConverter<?>[] converters;
    descriptor: [Lpicocli/CommandLine$ITypeConverter;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Lpicocli/CommandLine$ITypeConverter<*>;

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

  private java.lang.Object initialValue;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

  private picocli.CommandLine$Help$Visibility showDefaultValue;
    descriptor: Lpicocli/CommandLine$Help$Visibility;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Iterable<java.lang.String> completionCandidates;
    descriptor: Ljava/lang/Iterable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/Iterable<Ljava/lang/String;>;

  private picocli.CommandLine$IParameterConsumer parameterConsumer;
    descriptor: Lpicocli/CommandLine$IParameterConsumer;
    flags: (0x0002) ACC_PRIVATE

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

  private picocli.CommandLine$Model$IGetter getter;
    descriptor: Lpicocli/CommandLine$Model$IGetter;
    flags: (0x0002) ACC_PRIVATE

  private picocli.CommandLine$Model$ISetter setter;
    descriptor: Lpicocli/CommandLine$Model$ISetter;
    flags: (0x0002) ACC_PRIVATE

  private picocli.CommandLine$Model$IScope scope;
    descriptor: Lpicocli/CommandLine$Model$IScope;
    flags: (0x0002) ACC_PRIVATE

  private picocli.CommandLine$Model$IAnnotatedElement source;
    descriptor: Lpicocli/CommandLine$Model$IAnnotatedElement;
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 7886
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 7875
            aload 0 /* this */
            iconst_1
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hasInitialValue:Z
         2: .line 7881
            aload 0 /* this */
            new picocli.CommandLine$Model$ObjectBinding
            dup
            invokespecial picocli.CommandLine$Model$ObjectBinding.<init>:()V
            putfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
         3: .line 7882
            aload 0 /* this */
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
            checkcast picocli.CommandLine$Model$ISetter
            putfield picocli.CommandLine$Model$ArgSpec$Builder.setter:Lpicocli/CommandLine$Model$ISetter;
         4: .line 7883
            aload 0 /* this */
            new picocli.CommandLine$Model$ObjectScope
            dup
            aconst_null
            invokespecial picocli.CommandLine$Model$ObjectScope.<init>:(Ljava/lang/Object;)V
            putfield picocli.CommandLine$Model$ArgSpec$Builder.scope:Lpicocli/CommandLine$Model$IScope;
         5: .line 7886
            return
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  void <init>(picocli.CommandLine$Model$ArgSpec);
    descriptor: (Lpicocli/CommandLine$Model$ArgSpec;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Model$ArgSpec original
         0: .line 7887
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 7875
            aload 0 /* this */
            iconst_1
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hasInitialValue:Z
         2: .line 7881
            aload 0 /* this */
            new picocli.CommandLine$Model$ObjectBinding
            dup
            invokespecial picocli.CommandLine$Model$ObjectBinding.<init>:()V
            putfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
         3: .line 7882
            aload 0 /* this */
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
            checkcast picocli.CommandLine$Model$ISetter
            putfield picocli.CommandLine$Model$ArgSpec$Builder.setter:Lpicocli/CommandLine$Model$ISetter;
         4: .line 7883
            aload 0 /* this */
            new picocli.CommandLine$Model$ObjectScope
            dup
            aconst_null
            invokespecial picocli.CommandLine$Model$ObjectScope.<init>:(Ljava/lang/Object;)V
            putfield picocli.CommandLine$Model$ArgSpec$Builder.scope:Lpicocli/CommandLine$Model$IScope;
         5: .line 7888
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.userObject:Ljava/lang/Object;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.userObject:Ljava/lang/Object;
         6: .line 7889
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.arity:Lpicocli/CommandLine$Range;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.arity:Lpicocli/CommandLine$Range;
         7: .line 7890
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.description:[Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.description:[Ljava/lang/String;
         8: .line 7891
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.descriptionKey:Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.descriptionKey:Ljava/lang/String;
         9: .line 7892
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.required:Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.required:Z
        10: .line 7893
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.interactive:Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.interactive:Z
        11: .line 7894
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.paramLabel:Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.paramLabel:Ljava/lang/String;
        12: .line 7895
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.hideParamSyntax:Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hideParamSyntax:Z
        13: .line 7896
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.splitRegex:Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.splitRegex:Ljava/lang/String;
        14: .line 7897
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.hidden:Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hidden:Z
        15: .line 7898
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.typeInfo:Lpicocli/CommandLine$Model$ITypeInfo;
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.setTypeInfo:(Lpicocli/CommandLine$Model$ITypeInfo;)V
        16: .line 7899
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.converters:[Lpicocli/CommandLine$ITypeConverter;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.converters:[Lpicocli/CommandLine$ITypeConverter;
        17: .line 7900
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.defaultValue:Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.defaultValue:Ljava/lang/String;
        18: .line 7901
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.initialValue:Ljava/lang/Object;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.initialValue:Ljava/lang/Object;
        19: .line 7902
            aload 0 /* this */
            iconst_1
            putfield picocli.CommandLine$Model$ArgSpec$Builder.isInitialValueCached:Z
        20: .line 7903
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.hasInitialValue:Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hasInitialValue:Z
        21: .line 7904
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.showDefaultValue:Lpicocli/CommandLine$Help$Visibility;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.showDefaultValue:Lpicocli/CommandLine$Help$Visibility;
        22: .line 7905
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.completionCandidates:Ljava/lang/Iterable;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.completionCandidates:Ljava/lang/Iterable;
        23: .line 7906
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.parameterConsumer:Lpicocli/CommandLine$IParameterConsumer;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.parameterConsumer:Lpicocli/CommandLine$IParameterConsumer;
        24: .line 7907
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.toString:Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.toString:Ljava/lang/String;
        25: .line 7908
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.getter:Lpicocli/CommandLine$Model$IGetter;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
        26: .line 7909
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.setter:Lpicocli/CommandLine$Model$ISetter;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.setter:Lpicocli/CommandLine$Model$ISetter;
        27: .line 7910
            aload 0 /* this */
            aload 1 /* original */
            getfield picocli.CommandLine$Model$ArgSpec.scope:Lpicocli/CommandLine$Model$IScope;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.scope:Lpicocli/CommandLine$Model$IScope;
        28: .line 7911
            return
        end local 1 // picocli.CommandLine$Model$ArgSpec original
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0   29     1  original  Lpicocli/CommandLine$Model$ArgSpec;
    MethodParameters:
          Name  Flags
      original  

  void <init>(picocli.CommandLine$Model$IAnnotatedElement);
    descriptor: (Lpicocli/CommandLine$Model$IAnnotatedElement;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Model$IAnnotatedElement source
         0: .line 7912
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 7875
            aload 0 /* this */
            iconst_1
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hasInitialValue:Z
         2: .line 7881
            aload 0 /* this */
            new picocli.CommandLine$Model$ObjectBinding
            dup
            invokespecial picocli.CommandLine$Model$ObjectBinding.<init>:()V
            putfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
         3: .line 7882
            aload 0 /* this */
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
            checkcast picocli.CommandLine$Model$ISetter
            putfield picocli.CommandLine$Model$ArgSpec$Builder.setter:Lpicocli/CommandLine$Model$ISetter;
         4: .line 7883
            aload 0 /* this */
            new picocli.CommandLine$Model$ObjectScope
            dup
            aconst_null
            invokespecial picocli.CommandLine$Model$ObjectScope.<init>:(Ljava/lang/Object;)V
            putfield picocli.CommandLine$Model$ArgSpec$Builder.scope:Lpicocli/CommandLine$Model$IScope;
         5: .line 7913
            aload 0 /* this */
            aload 1 /* source */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.source:Lpicocli/CommandLine$Model$IAnnotatedElement;
         6: .line 7914
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.userObject:()Ljava/lang/Object;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.userObject:Ljava/lang/Object;
         7: .line 7915
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.setTypeInfo:(Lpicocli/CommandLine$Model$ITypeInfo;)V
         8: .line 7916
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getToString:()Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.toString:Ljava/lang/String;
         9: .line 7917
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getter:()Lpicocli/CommandLine$Model$IGetter;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
        10: .line 7918
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.setter:()Lpicocli/CommandLine$Model$ISetter;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.setter:Lpicocli/CommandLine$Model$ISetter;
        11: .line 7919
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.scope:()Lpicocli/CommandLine$Model$IScope;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.scope:Lpicocli/CommandLine$Model$IScope;
        12: .line 7920
            aload 0 /* this */
            aload 1 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.hasInitialValue:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hasInitialValue:Z
        13: .line 7921
            aload 0 /* this */
            iconst_0
            putfield picocli.CommandLine$Model$ArgSpec$Builder.isInitialValueCached:Z
        14: .line 7922
            return
        end local 1 // picocli.CommandLine$Model$IAnnotatedElement source
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0   15     1  source  Lpicocli/CommandLine$Model$IAnnotatedElement;
    MethodParameters:
        Name  Flags
      source  

  void <init>(picocli.CommandLine$Option, picocli.CommandLine$Model$IAnnotatedElement, picocli.CommandLine$IFactory);
    descriptor: (Lpicocli/CommandLine$Option;Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Option option
        start local 2 // picocli.CommandLine$Model$IAnnotatedElement source
        start local 3 // picocli.CommandLine$IFactory factory
         0: .line 7924
            aload 0 /* this */
            aload 2 /* source */
            invokespecial picocli.CommandLine$Model$ArgSpec$Builder.<init>:(Lpicocli/CommandLine$Model$IAnnotatedElement;)V
         1: .line 7925
            aload 0 /* this */
            aload 2 /* source */
            invokestatic picocli.CommandLine$Range.optionArity:(Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Range;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.arity:Lpicocli/CommandLine$Range;
         2: .line 7926
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.required:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.required:Z
         3: .line 7928
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.paramLabel:()Ljava/lang/String;
            aload 2 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getName:()Ljava/lang/String;
            aload 2 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
            invokestatic picocli.CommandLine$Model$ArgSpec$Builder.inferLabel:(Ljava/lang/String;Ljava/lang/String;Lpicocli/CommandLine$Model$ITypeInfo;)Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.paramLabel:Ljava/lang/String;
         4: .line 7930
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.hideParamSyntax:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hideParamSyntax:Z
         5: .line 7931
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.interactive:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.interactive:Z
         6: .line 7932
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.description:()[Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.description:[Ljava/lang/String;
         7: .line 7933
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.descriptionKey:()Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.descriptionKey:Ljava/lang/String;
         8: .line 7934
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.split:()Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.splitRegex:Ljava/lang/String;
         9: .line 7935
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.hidden:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hidden:Z
        10: .line 7936
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.defaultValue:()Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.defaultValue:Ljava/lang/String;
        11: .line 7937
            aload 0 /* this */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.showDefaultValue:()Lpicocli/CommandLine$Help$Visibility;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.showDefaultValue:Lpicocli/CommandLine$Help$Visibility;
        12: .line 7938
            aload 3 /* factory */
            ifnull 18
        13: .line 7939
            aload 0 /* this */
            aload 3 /* factory */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.converter:()[Ljava/lang/Class;
            invokestatic picocli.CommandLine$DefaultFactory.createConverter:(Lpicocli/CommandLine$IFactory;[Ljava/lang/Class;)[Lpicocli/CommandLine$ITypeConverter;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.converters:[Lpicocli/CommandLine$ITypeConverter;
        14: .line 7940
            ldc Lpicocli/CommandLine$NoCompletionCandidates;
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.completionCandidates:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 16
        15: .line 7941
            aload 0 /* this */
            aload 3 /* factory */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.completionCandidates:()Ljava/lang/Class;
            invokestatic picocli.CommandLine$DefaultFactory.createCompletionCandidates:(Lpicocli/CommandLine$IFactory;Ljava/lang/Class;)Ljava/lang/Iterable;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.completionCandidates:Ljava/lang/Iterable;
        16: .line 7943
      StackMap locals: picocli.CommandLine$Model$ArgSpec$Builder picocli.CommandLine$Option picocli.CommandLine$Model$IAnnotatedElement picocli.CommandLine$IFactory
      StackMap stack:
            ldc Lpicocli/CommandLine$NullParameterConsumer;
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.parameterConsumer:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 7944
            aload 0 /* this */
            aload 3 /* factory */
            aload 1 /* option */
            invokeinterface picocli.CommandLine$Option.parameterConsumer:()Ljava/lang/Class;
            invokestatic picocli.CommandLine$DefaultFactory.createParameterConsumer:(Lpicocli/CommandLine$IFactory;Ljava/lang/Class;)Lpicocli/CommandLine$IParameterConsumer;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.parameterConsumer:Lpicocli/CommandLine$IParameterConsumer;
        18: .line 7947
      StackMap locals:
      StackMap stack:
            return
        end local 3 // picocli.CommandLine$IFactory factory
        end local 2 // picocli.CommandLine$Model$IAnnotatedElement source
        end local 1 // picocli.CommandLine$Option option
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0   19     1   option  Lpicocli/CommandLine$Option;
            0   19     2   source  Lpicocli/CommandLine$Model$IAnnotatedElement;
            0   19     3  factory  Lpicocli/CommandLine$IFactory;
    MethodParameters:
         Name  Flags
      option   
      source   
      factory  

  void <init>(picocli.CommandLine$Parameters, picocli.CommandLine$Model$IAnnotatedElement, picocli.CommandLine$IFactory);
    descriptor: (Lpicocli/CommandLine$Parameters;Lpicocli/CommandLine$Model$IAnnotatedElement;Lpicocli/CommandLine$IFactory;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Parameters parameters
        start local 2 // picocli.CommandLine$Model$IAnnotatedElement source
        start local 3 // picocli.CommandLine$IFactory factory
         0: .line 7949
            aload 0 /* this */
            aload 2 /* source */
            invokespecial picocli.CommandLine$Model$ArgSpec$Builder.<init>:(Lpicocli/CommandLine$Model$IAnnotatedElement;)V
         1: .line 7950
            aload 0 /* this */
            aload 2 /* source */
            invokestatic picocli.CommandLine$Range.parameterArity:(Lpicocli/CommandLine$Model$IAnnotatedElement;)Lpicocli/CommandLine$Range;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.arity:Lpicocli/CommandLine$Range;
         2: .line 7951
            aload 0 /* this */
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.arity:Lpicocli/CommandLine$Range;
            getfield picocli.CommandLine$Range.min:I
            ifle 3
            iconst_1
            goto 4
      StackMap locals: picocli.CommandLine$Model$ArgSpec$Builder picocli.CommandLine$Parameters picocli.CommandLine$Model$IAnnotatedElement picocli.CommandLine$IFactory
      StackMap stack: picocli.CommandLine$Model$ArgSpec$Builder
         3: iconst_0
      StackMap locals: picocli.CommandLine$Model$ArgSpec$Builder picocli.CommandLine$Parameters picocli.CommandLine$Model$IAnnotatedElement picocli.CommandLine$IFactory
      StackMap stack: picocli.CommandLine$Model$ArgSpec$Builder int
         4: putfield picocli.CommandLine$Model$ArgSpec$Builder.required:Z
         5: .line 7954
            aload 1 /* parameters */
            ifnonnull 8
         6: .line 7955
            aload 0 /* this */
            aconst_null
            aload 2 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getName:()Ljava/lang/String;
            aload 2 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
            invokestatic picocli.CommandLine$Model$ArgSpec$Builder.inferLabel:(Ljava/lang/String;Ljava/lang/String;Lpicocli/CommandLine$Model$ITypeInfo;)Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.paramLabel:Ljava/lang/String;
         7: .line 7956
            goto 23
         8: .line 7957
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.paramLabel:()Ljava/lang/String;
            aload 2 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getName:()Ljava/lang/String;
            aload 2 /* source */
            invokeinterface picocli.CommandLine$Model$IAnnotatedElement.getTypeInfo:()Lpicocli/CommandLine$Model$ITypeInfo;
            invokestatic picocli.CommandLine$Model$ArgSpec$Builder.inferLabel:(Ljava/lang/String;Ljava/lang/String;Lpicocli/CommandLine$Model$ITypeInfo;)Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.paramLabel:Ljava/lang/String;
         9: .line 7959
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.hideParamSyntax:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hideParamSyntax:Z
        10: .line 7960
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.interactive:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.interactive:Z
        11: .line 7961
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.description:()[Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.description:[Ljava/lang/String;
        12: .line 7962
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.descriptionKey:()Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.descriptionKey:Ljava/lang/String;
        13: .line 7963
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.split:()Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.splitRegex:Ljava/lang/String;
        14: .line 7964
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.hidden:()Z
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hidden:Z
        15: .line 7965
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.defaultValue:()Ljava/lang/String;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.defaultValue:Ljava/lang/String;
        16: .line 7966
            aload 0 /* this */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.showDefaultValue:()Lpicocli/CommandLine$Help$Visibility;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.showDefaultValue:Lpicocli/CommandLine$Help$Visibility;
        17: .line 7967
            aload 3 /* factory */
            ifnull 23
        18: .line 7968
            aload 0 /* this */
            aload 3 /* factory */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.converter:()[Ljava/lang/Class;
            invokestatic picocli.CommandLine$DefaultFactory.createConverter:(Lpicocli/CommandLine$IFactory;[Ljava/lang/Class;)[Lpicocli/CommandLine$ITypeConverter;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.converters:[Lpicocli/CommandLine$ITypeConverter;
        19: .line 7969
            ldc Lpicocli/CommandLine$NoCompletionCandidates;
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.completionCandidates:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 7970
            aload 0 /* this */
            aload 3 /* factory */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.completionCandidates:()Ljava/lang/Class;
            invokestatic picocli.CommandLine$DefaultFactory.createCompletionCandidates:(Lpicocli/CommandLine$IFactory;Ljava/lang/Class;)Ljava/lang/Iterable;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.completionCandidates:Ljava/lang/Iterable;
        21: .line 7972
      StackMap locals:
      StackMap stack:
            ldc Lpicocli/CommandLine$NullParameterConsumer;
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.parameterConsumer:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 23
        22: .line 7973
            aload 0 /* this */
            aload 3 /* factory */
            aload 1 /* parameters */
            invokeinterface picocli.CommandLine$Parameters.parameterConsumer:()Ljava/lang/Class;
            invokestatic picocli.CommandLine$DefaultFactory.createParameterConsumer:(Lpicocli/CommandLine$IFactory;Ljava/lang/Class;)Lpicocli/CommandLine$IParameterConsumer;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.parameterConsumer:Lpicocli/CommandLine$IParameterConsumer;
        23: .line 7977
      StackMap locals:
      StackMap stack:
            return
        end local 3 // picocli.CommandLine$IFactory factory
        end local 2 // picocli.CommandLine$Model$IAnnotatedElement source
        end local 1 // picocli.CommandLine$Parameters parameters
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0   24     1  parameters  Lpicocli/CommandLine$Parameters;
            0   24     2      source  Lpicocli/CommandLine$Model$IAnnotatedElement;
            0   24     3     factory  Lpicocli/CommandLine$IFactory;
    MethodParameters:
            Name  Flags
      parameters  
      source      
      factory     

  private static java.lang.String inferLabel(java.lang.String, java.lang.String, picocli.CommandLine$Model$ITypeInfo);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lpicocli/CommandLine$Model$ITypeInfo;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String label
        start local 1 // java.lang.String fieldName
        start local 2 // picocli.CommandLine$Model$ITypeInfo typeInfo
         0: .line 7979
            aload 0 /* label */
            invokestatic picocli.CommandLine.empty:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* label */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            areturn
         1: .line 7980
      StackMap locals:
      StackMap stack:
            aload 1 /* fieldName */
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 7981
            aload 2 /* typeInfo */
            invokeinterface picocli.CommandLine$Model$ITypeInfo.isMap:()Z
            ifeq 8
         3: .line 7982
            aload 2 /* typeInfo */
            invokeinterface picocli.CommandLine$Model$ITypeInfo.getAuxiliaryTypeInfos:()Ljava/util/List;
            astore 4 /* aux */
        start local 4 // java.util.List aux
         4: .line 7983
            aload 4 /* aux */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmplt 5
            aload 4 /* aux */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            ifnull 5
            aload 4 /* aux */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            ifnonnull 7
         5: .line 7984
      StackMap locals: java.lang.String java.util.List
      StackMap stack:
            ldc "String=String"
            astore 3 /* name */
         6: .line 7985
            goto 8
      StackMap locals:
      StackMap stack:
         7: new java.lang.StringBuilder
            dup
            aload 4 /* aux */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast picocli.CommandLine$Model$ITypeInfo
            invokeinterface picocli.CommandLine$Model$ITypeInfo.getClassSimpleName:()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 4 /* aux */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast picocli.CommandLine$Model$ITypeInfo
            invokeinterface picocli.CommandLine$Model$ITypeInfo.getClassSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* name */
        end local 4 // java.util.List aux
         8: .line 7987
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String name
        end local 2 // picocli.CommandLine$Model$ITypeInfo typeInfo
        end local 1 // java.lang.String fieldName
        end local 0 // java.lang.String label
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0      label  Ljava/lang/String;
            0    9     1  fieldName  Ljava/lang/String;
            0    9     2   typeInfo  Lpicocli/CommandLine$Model$ITypeInfo;
            2    9     3       name  Ljava/lang/String;
            4    8     4        aux  Ljava/util/List<Lpicocli/CommandLine$Model$ITypeInfo;>;
    MethodParameters:
           Name  Flags
      label      
      fieldName  
      typeInfo   

  public abstract picocli.CommandLine$Model$ArgSpec build();
    descriptor: ()Lpicocli/CommandLine$Model$ArgSpec;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected abstract T self();
    descriptor: ()Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()TT;

  public boolean required();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 7994
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.required:Z
            ireturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public boolean interactive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 7997
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.interactive:Z
            ireturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.String[] description();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8001
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.description:[Ljava/lang/String;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.String descriptionKey();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8007
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.descriptionKey:Ljava/lang/String;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public picocli.CommandLine$Range arity();
    descriptor: ()Lpicocli/CommandLine$Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8011
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.arity:Lpicocli/CommandLine$Range;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.String paramLabel();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8015
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.paramLabel:Ljava/lang/String;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public boolean hideParamSyntax();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8021
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.hideParamSyntax:Z
            ireturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.Class<?>[] auxiliaryTypes();
    descriptor: ()[Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8025
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.auxiliaryTypes:[Ljava/lang/Class;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
    Signature: ()[Ljava/lang/Class<*>;

  public picocli.CommandLine$ITypeConverter<?>[] converters();
    descriptor: ()[Lpicocli/CommandLine$ITypeConverter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8031
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.converters:[Lpicocli/CommandLine$ITypeConverter;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
    Signature: ()[Lpicocli/CommandLine$ITypeConverter<*>;

  public java.lang.String splitRegex();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8035
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.splitRegex:Ljava/lang/String;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public boolean hidden();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8039
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.hidden:Z
            ireturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.Class<?> type();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8042
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.type:Ljava/lang/Class;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
    Signature: ()Ljava/lang/Class<*>;

  public picocli.CommandLine$Model$ITypeInfo typeInfo();
    descriptor: ()Lpicocli/CommandLine$Model$ITypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8048
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.typeInfo:Lpicocli/CommandLine$Model$ITypeInfo;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.Object userObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8053
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.userObject:Ljava/lang/Object;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.String defaultValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8057
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.defaultValue:Ljava/lang/String;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.Object initialValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8061
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.initialValue:Ljava/lang/Object;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public boolean hasInitialValue();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8064
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.hasInitialValue:Z
            ireturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public picocli.CommandLine$Help$Visibility showDefaultValue();
    descriptor: ()Lpicocli/CommandLine$Help$Visibility;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8067
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.showDefaultValue:Lpicocli/CommandLine$Help$Visibility;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.Iterable<java.lang.String> completionCandidates();
    descriptor: ()Ljava/lang/Iterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8071
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.completionCandidates:Ljava/lang/Iterable;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
    Signature: ()Ljava/lang/Iterable<Ljava/lang/String;>;

  public picocli.CommandLine$IParameterConsumer parameterConsumer();
    descriptor: ()Lpicocli/CommandLine$IParameterConsumer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8075
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.parameterConsumer:Lpicocli/CommandLine$IParameterConsumer;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public picocli.CommandLine$Model$IGetter getter();
    descriptor: ()Lpicocli/CommandLine$Model$IGetter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8078
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public picocli.CommandLine$Model$ISetter setter();
    descriptor: ()Lpicocli/CommandLine$Model$ISetter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8080
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.setter:Lpicocli/CommandLine$Model$ISetter;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public picocli.CommandLine$Model$IScope scope();
    descriptor: ()Lpicocli/CommandLine$Model$IScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8082
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.scope:Lpicocli/CommandLine$Model$IScope;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
         0: .line 8084
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.toString:Ljava/lang/String;
            areturn
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;

  public T required();
    descriptor: (Z)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // boolean required
         0: .line 8087
            aload 0 /* this */
            iload 1 /* required */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.required:Z
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // boolean required
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  required  Z
    Signature: (Z)TT;
    MethodParameters:
          Name  Flags
      required  

  public T interactive();
    descriptor: (Z)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // boolean interactive
         0: .line 8090
            aload 0 /* this */
            iload 1 /* interactive */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.interactive:Z
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // boolean interactive
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  interactive  Z
    Signature: (Z)TT;
    MethodParameters:
             Name  Flags
      interactive  

  public T description(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.String[] description
         0: .line 8094
            aload 0 /* this */
            aload 1 /* description */
            ldc "description"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String[]
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            putfield picocli.CommandLine$Model$ArgSpec$Builder.description:[Ljava/lang/String;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.String[] description
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  description  [Ljava/lang/String;
    Signature: ([Ljava/lang/String;)TT;
    MethodParameters:
             Name  Flags
      description  

  public T descriptionKey(java.lang.String);
    descriptor: (Ljava/lang/String;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.String descriptionKey
         0: .line 8100
            aload 0 /* this */
            aload 1 /* descriptionKey */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.descriptionKey:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.String descriptionKey
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  descriptionKey  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TT;
    MethodParameters:
                Name  Flags
      descriptionKey  

  public T arity(java.lang.String);
    descriptor: (Ljava/lang/String;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.String range
         0: .line 8103
            aload 0 /* this */
            aload 1 /* range */
            invokestatic picocli.CommandLine$Range.valueOf:(Ljava/lang/String;)Lpicocli/CommandLine$Range;
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.arity:(Lpicocli/CommandLine$Range;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.String range
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  range  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TT;
    MethodParameters:
       Name  Flags
      range  

  public T arity(picocli.CommandLine$Range);
    descriptor: (Lpicocli/CommandLine$Range;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Range arity
         0: .line 8106
            aload 0 /* this */
            aload 1 /* arity */
            ldc "arity"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast picocli.CommandLine$Range
            putfield picocli.CommandLine$Model$ArgSpec$Builder.arity:Lpicocli/CommandLine$Range;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$Range arity
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  arity  Lpicocli/CommandLine$Range;
    Signature: (Lpicocli/CommandLine$Range;)TT;
    MethodParameters:
       Name  Flags
      arity  

  public T paramLabel(java.lang.String);
    descriptor: (Ljava/lang/String;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.String paramLabel
         0: .line 8109
            aload 0 /* this */
            aload 1 /* paramLabel */
            ldc "paramLabel"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield picocli.CommandLine$Model$ArgSpec$Builder.paramLabel:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.String paramLabel
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  paramLabel  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TT;
    MethodParameters:
            Name  Flags
      paramLabel  

  public T hideParamSyntax();
    descriptor: (Z)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // boolean hideParamSyntax
         0: .line 8115
            aload 0 /* this */
            iload 1 /* hideParamSyntax */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hideParamSyntax:Z
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // boolean hideParamSyntax
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  hideParamSyntax  Z
    Signature: (Z)TT;
    MethodParameters:
                 Name  Flags
      hideParamSyntax  

  public T auxiliaryTypes(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.Class[] types
         0: .line 8120
            aload 0 /* this */
            aload 1 /* types */
            ldc "types"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Class[]
            invokevirtual java.lang.Class[].clone:()Ljava/lang/Object;
            checkcast java.lang.Class[]
            putfield picocli.CommandLine$Model$ArgSpec$Builder.auxiliaryTypes:[Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.Class[] types
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  types  [Ljava/lang/Class;
    Signature: ([Ljava/lang/Class<*>;)TT;
    MethodParameters:
       Name  Flags
      types  

  public T converters(picocli.CommandLine$ITypeConverter<?>[]);
    descriptor: ([Lpicocli/CommandLine$ITypeConverter;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$ITypeConverter[] cs
         0: .line 8123
            aload 0 /* this */
            aload 1 /* cs */
            ldc "type converters"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast picocli.CommandLine$ITypeConverter[]
            invokevirtual picocli.CommandLine$ITypeConverter[].clone:()Ljava/lang/Object;
            checkcast picocli.CommandLine$ITypeConverter[]
            putfield picocli.CommandLine$Model$ArgSpec$Builder.converters:[Lpicocli/CommandLine$ITypeConverter;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$ITypeConverter[] cs
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1    cs  [Lpicocli/CommandLine$ITypeConverter;
    Signature: ([Lpicocli/CommandLine$ITypeConverter<*>;)TT;
    MethodParameters:
      Name  Flags
      cs    

  public T splitRegex(java.lang.String);
    descriptor: (Ljava/lang/String;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.String splitRegex
         0: .line 8126
            aload 0 /* this */
            aload 1 /* splitRegex */
            ldc "splitRegex"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield picocli.CommandLine$Model$ArgSpec$Builder.splitRegex:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.String splitRegex
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  splitRegex  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TT;
    MethodParameters:
            Name  Flags
      splitRegex  

  public T showDefaultValue(picocli.CommandLine$Help$Visibility);
    descriptor: (Lpicocli/CommandLine$Help$Visibility;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Help$Visibility visibility
         0: .line 8129
            aload 0 /* this */
            aload 1 /* visibility */
            ldc "visibility"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast picocli.CommandLine$Help$Visibility
            putfield picocli.CommandLine$Model$ArgSpec$Builder.showDefaultValue:Lpicocli/CommandLine$Help$Visibility;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$Help$Visibility visibility
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  visibility  Lpicocli/CommandLine$Help$Visibility;
    Signature: (Lpicocli/CommandLine$Help$Visibility;)TT;
    MethodParameters:
            Name  Flags
      visibility  

  public T completionCandidates(java.lang.Iterable<java.lang.String>);
    descriptor: (Ljava/lang/Iterable;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.Iterable completionCandidates
         0: .line 8133
            aload 0 /* this */
            aload 1 /* completionCandidates */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.completionCandidates:Ljava/lang/Iterable;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.Iterable completionCandidates
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  completionCandidates  Ljava/lang/Iterable<Ljava/lang/String;>;
    Signature: (Ljava/lang/Iterable<Ljava/lang/String;>;)TT;
    MethodParameters:
                      Name  Flags
      completionCandidates  

  public T parameterConsumer(picocli.CommandLine$IParameterConsumer);
    descriptor: (Lpicocli/CommandLine$IParameterConsumer;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$IParameterConsumer parameterConsumer
         0: .line 8137
            aload 0 /* this */
            aload 1 /* parameterConsumer */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.parameterConsumer:Lpicocli/CommandLine$IParameterConsumer;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$IParameterConsumer parameterConsumer
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  parameterConsumer  Lpicocli/CommandLine$IParameterConsumer;
    Signature: (Lpicocli/CommandLine$IParameterConsumer;)TT;
    MethodParameters:
                   Name  Flags
      parameterConsumer  

  public T hidden();
    descriptor: (Z)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // boolean hidden
         0: .line 8140
            aload 0 /* this */
            iload 1 /* hidden */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hidden:Z
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // boolean hidden
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  hidden  Z
    Signature: (Z)TT;
    MethodParameters:
        Name  Flags
      hidden  

  public T type(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.Class propertyType
         0: .line 8144
            aload 0 /* this */
            aload 1 /* propertyType */
            ldc "type"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.Class
            putfield picocli.CommandLine$Model$ArgSpec$Builder.type:Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.Class propertyType
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  propertyType  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)TT;
    MethodParameters:
              Name  Flags
      propertyType  

  public T typeInfo(picocli.CommandLine$Model$ITypeInfo);
    descriptor: (Lpicocli/CommandLine$Model$ITypeInfo;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Model$ITypeInfo typeInfo
         0: .line 8150
            aload 0 /* this */
            aload 1 /* typeInfo */
            ldc "typeInfo"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast picocli.CommandLine$Model$ITypeInfo
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.setTypeInfo:(Lpicocli/CommandLine$Model$ITypeInfo;)V
         1: .line 8151
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$Model$ITypeInfo typeInfo
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    2     1  typeInfo  Lpicocli/CommandLine$Model$ITypeInfo;
    Signature: (Lpicocli/CommandLine$Model$ITypeInfo;)TT;
    MethodParameters:
          Name  Flags
      typeInfo  

  private void setTypeInfo(picocli.CommandLine$Model$ITypeInfo);
    descriptor: (Lpicocli/CommandLine$Model$ITypeInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Model$ITypeInfo newValue
         0: .line 8154
            aload 0 /* this */
            aload 1 /* newValue */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.typeInfo:Lpicocli/CommandLine$Model$ITypeInfo;
         1: .line 8155
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.typeInfo:Lpicocli/CommandLine$Model$ITypeInfo;
            ifnull 4
         2: .line 8156
            aload 0 /* this */
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.typeInfo:Lpicocli/CommandLine$Model$ITypeInfo;
            invokeinterface picocli.CommandLine$Model$ITypeInfo.getType:()Ljava/lang/Class;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.type:Ljava/lang/Class;
         3: .line 8157
            aload 0 /* this */
            aload 0 /* this */
            getfield picocli.CommandLine$Model$ArgSpec$Builder.typeInfo:Lpicocli/CommandLine$Model$ITypeInfo;
            invokeinterface picocli.CommandLine$Model$ITypeInfo.getAuxiliaryTypes:()[Ljava/lang/Class;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.auxiliaryTypes:[Ljava/lang/Class;
         4: .line 8159
      StackMap locals:
      StackMap stack:
            return
        end local 1 // picocli.CommandLine$Model$ITypeInfo newValue
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    5     1  newValue  Lpicocli/CommandLine$Model$ITypeInfo;
    MethodParameters:
          Name  Flags
      newValue  

  public T userObject();
    descriptor: (Ljava/lang/Object;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.Object userObject
         0: .line 8164
            aload 0 /* this */
            aload 1 /* userObject */
            ldc "userObject"
            invokestatic picocli.CommandLine$Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            putfield picocli.CommandLine$Model$ArgSpec$Builder.userObject:Ljava/lang/Object;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.Object userObject
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  userObject  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)TT;
    MethodParameters:
            Name  Flags
      userObject  

  public T defaultValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.String defaultValue
         0: .line 8169
            aload 0 /* this */
            aload 1 /* defaultValue */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.defaultValue:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.String defaultValue
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  defaultValue  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TT;
    MethodParameters:
              Name  Flags
      defaultValue  

  public T initialValue();
    descriptor: (Ljava/lang/Object;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.Object initialValue
         0: .line 8174
            aload 0 /* this */
            aload 1 /* initialValue */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.initialValue:Ljava/lang/Object;
            aload 0 /* this */
            iconst_1
            putfield picocli.CommandLine$Model$ArgSpec$Builder.isInitialValueCached:Z
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.Object initialValue
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  initialValue  Ljava/lang/Object;
    Signature: (Ljava/lang/Object;)TT;
    MethodParameters:
              Name  Flags
      initialValue  

  public T hasInitialValue();
    descriptor: (Z)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // boolean hasInitialValue
         0: .line 8178
            aload 0 /* this */
            iload 1 /* hasInitialValue */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.hasInitialValue:Z
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // boolean hasInitialValue
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  hasInitialValue  Z
    Signature: (Z)TT;
    MethodParameters:
                 Name  Flags
      hasInitialValue  

  public T getter(picocli.CommandLine$Model$IGetter);
    descriptor: (Lpicocli/CommandLine$Model$IGetter;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Model$IGetter getter
         0: .line 8181
            aload 0 /* this */
            aload 1 /* getter */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.getter:Lpicocli/CommandLine$Model$IGetter;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$Model$IGetter getter
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  getter  Lpicocli/CommandLine$Model$IGetter;
    Signature: (Lpicocli/CommandLine$Model$IGetter;)TT;
    MethodParameters:
        Name  Flags
      getter  

  public T setter(picocli.CommandLine$Model$ISetter);
    descriptor: (Lpicocli/CommandLine$Model$ISetter;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Model$ISetter setter
         0: .line 8183
            aload 0 /* this */
            aload 1 /* setter */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.setter:Lpicocli/CommandLine$Model$ISetter;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$Model$ISetter setter
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  setter  Lpicocli/CommandLine$Model$ISetter;
    Signature: (Lpicocli/CommandLine$Model$ISetter;)TT;
    MethodParameters:
        Name  Flags
      setter  

  public T scope(picocli.CommandLine$Model$IScope);
    descriptor: (Lpicocli/CommandLine$Model$IScope;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // picocli.CommandLine$Model$IScope scope
         0: .line 8185
            aload 0 /* this */
            aload 1 /* scope */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.scope:Lpicocli/CommandLine$Model$IScope;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // picocli.CommandLine$Model$IScope scope
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  scope  Lpicocli/CommandLine$Model$IScope;
    Signature: (Lpicocli/CommandLine$Model$IScope;)TT;
    MethodParameters:
       Name  Flags
      scope  

  public T withToString(java.lang.String);
    descriptor: (Ljava/lang/String;)Lpicocli/CommandLine$Model$ArgSpec$Builder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
        start local 1 // java.lang.String toString
         0: .line 8188
            aload 0 /* this */
            aload 1 /* toString */
            putfield picocli.CommandLine$Model$ArgSpec$Builder.toString:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual picocli.CommandLine$Model$ArgSpec$Builder.self:()Lpicocli/CommandLine$Model$ArgSpec$Builder;
            areturn
        end local 1 // java.lang.String toString
        end local 0 // picocli.CommandLine$Model$ArgSpec$Builder this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;
            0    1     1  toString  Ljava/lang/String;
    Signature: (Ljava/lang/String;)TT;
    MethodParameters:
          Name  Flags
      toString  
}
Signature: <T:Lpicocli/CommandLine$Model$ArgSpec$Builder<TT;>;>Ljava/lang/Object;
SourceFile: "CommandLine.java"
NestHost: picocli.CommandLine
InnerClasses:
  private final Assert = picocli.CommandLine$Assert of picocli.CommandLine
  private DefaultFactory = picocli.CommandLine$DefaultFactory of picocli.CommandLine
  public Help = picocli.CommandLine$Help of picocli.CommandLine
  public final Visibility = picocli.CommandLine$Help$Visibility of picocli.CommandLine$Help
  public abstract IFactory = picocli.CommandLine$IFactory of picocli.CommandLine
  public abstract IParameterConsumer = picocli.CommandLine$IParameterConsumer of picocli.CommandLine
  public abstract ITypeConverter = picocli.CommandLine$ITypeConverter of picocli.CommandLine
  public final Model = picocli.CommandLine$Model of picocli.CommandLine
  public abstract ArgSpec = picocli.CommandLine$Model$ArgSpec of picocli.CommandLine$Model
  abstract Builder = picocli.CommandLine$Model$ArgSpec$Builder of picocli.CommandLine$Model$ArgSpec
  public abstract IAnnotatedElement = picocli.CommandLine$Model$IAnnotatedElement of picocli.CommandLine$Model
  public abstract IGetter = picocli.CommandLine$Model$IGetter of picocli.CommandLine$Model
  public abstract IScope = picocli.CommandLine$Model$IScope of picocli.CommandLine$Model
  public abstract ISetter = picocli.CommandLine$Model$ISetter of picocli.CommandLine$Model
  public abstract ITypeInfo = picocli.CommandLine$Model$ITypeInfo of picocli.CommandLine$Model
  private ObjectBinding = picocli.CommandLine$Model$ObjectBinding of picocli.CommandLine$Model
  ObjectScope = picocli.CommandLine$Model$ObjectScope of picocli.CommandLine$Model
  private NoCompletionCandidates = picocli.CommandLine$NoCompletionCandidates of picocli.CommandLine
  private NullParameterConsumer = picocli.CommandLine$NullParameterConsumer of picocli.CommandLine
  public abstract Option = picocli.CommandLine$Option of picocli.CommandLine
  public abstract Parameters = picocli.CommandLine$Parameters of picocli.CommandLine
  public Range = picocli.CommandLine$Range of picocli.CommandLine