public class io.vertx.core.cli.Option
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.core.cli.Option
  super_class: java.lang.Object
{
  public static final java.lang.String DEFAULT_ARG_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "value"

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

  protected java.lang.String longName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String shortName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String argName;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected boolean required;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean hidden;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean singleValued;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean multiValued;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected java.lang.String defaultValue;
    descriptor: Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED

  protected boolean flag;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean help;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Set<java.lang.String> choices;
    descriptor: Ljava/util/Set;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 110
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 46
            aload 0 /* this */
            ldc "\u0000"
            putfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
         2: .line 51
            aload 0 /* this */
            ldc "\u0000"
            putfield io.vertx.core.cli.Option.shortName:Ljava/lang/String;
         3: .line 56
            aload 0 /* this */
            ldc "value"
            putfield io.vertx.core.cli.Option.argName:Ljava/lang/String;
         4: .line 76
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.cli.Option.singleValued:Z
         5: .line 105
            aload 0 /* this */
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            putfield io.vertx.core.cli.Option.choices:Ljava/util/Set;
         6: .line 111
            return
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/core/cli/Option;

  public void <init>(io.vertx.core.cli.Option);
    descriptor: (Lio/vertx/core/cli/Option;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // io.vertx.core.cli.Option other
         0: .line 119
            aload 0 /* this */
            invokespecial io.vertx.core.cli.Option.<init>:()V
         1: .line 120
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
            putfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
         2: .line 121
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.shortName:Ljava/lang/String;
            putfield io.vertx.core.cli.Option.shortName:Ljava/lang/String;
         3: .line 122
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.argName:Ljava/lang/String;
            putfield io.vertx.core.cli.Option.argName:Ljava/lang/String;
         4: .line 123
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.description:Ljava/lang/String;
            putfield io.vertx.core.cli.Option.description:Ljava/lang/String;
         5: .line 124
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.required:Z
            putfield io.vertx.core.cli.Option.required:Z
         6: .line 125
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.hidden:Z
            putfield io.vertx.core.cli.Option.hidden:Z
         7: .line 126
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.singleValued:Z
            putfield io.vertx.core.cli.Option.singleValued:Z
         8: .line 127
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.multiValued:Z
            putfield io.vertx.core.cli.Option.multiValued:Z
         9: .line 128
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.defaultValue:Ljava/lang/String;
            putfield io.vertx.core.cli.Option.defaultValue:Ljava/lang/String;
        10: .line 129
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.flag:Z
            putfield io.vertx.core.cli.Option.flag:Z
        11: .line 130
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.help:Z
            putfield io.vertx.core.cli.Option.help:Z
        12: .line 131
            aload 0 /* this */
            aload 1 /* other */
            getfield io.vertx.core.cli.Option.choices:Ljava/util/Set;
            putfield io.vertx.core.cli.Option.choices:Ljava/util/Set;
        13: .line 132
            return
        end local 1 // io.vertx.core.cli.Option other
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lio/vertx/core/cli/Option;
            0   14     1  other  Lio/vertx/core/cli/Option;
    MethodParameters:
       Name  Flags
      other  

  public void <init>(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // io.vertx.core.json.JsonObject json
         0: .line 141
            aload 0 /* this */
            invokespecial io.vertx.core.cli.Option.<init>:()V
         1: .line 142
            aload 1 /* json */
            aload 0 /* this */
            invokestatic io.vertx.core.cli.OptionConverter.fromJson:(Ljava/lang/Iterable;Lio/vertx/core/cli/Option;)V
         2: .line 143
            return
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/cli/Option;
            0    3     1  json  Lio/vertx/core/json/JsonObject;
    MethodParameters:
      Name  Flags
      json  

  public io.vertx.core.json.JsonObject toJson();
    descriptor: ()Lio/vertx/core/json/JsonObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 151
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 1 /* json */
        start local 1 // io.vertx.core.json.JsonObject json
         1: .line 152
            aload 0 /* this */
            aload 1 /* json */
            invokestatic io.vertx.core.cli.OptionConverter.toJson:(Lio/vertx/core/cli/Option;Lio/vertx/core/json/JsonObject;)V
         2: .line 153
            aload 1 /* json */
            areturn
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/cli/Option;
            1    3     1  json  Lio/vertx/core/json/JsonObject;

  public void ensureValidity();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 164
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.shortName:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.shortName:Ljava/lang/String;
            ldc "\u0000"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
            ifnull 2
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
            ldc "\u0000"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 165
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "An option needs at least a long name or a short name"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/core/cli/Option;

  public boolean acceptValue();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 173
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.singleValued:Z
            ifne 1
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.multiValued:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/cli/Option;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 182
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
            ifnull 2
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
            ldc "\u0000"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 183
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
            areturn
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.shortName:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/cli/Option;

  public boolean isMultiValued();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 193
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.multiValued:Z
            ireturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/Option;

  public io.vertx.core.cli.Option setMultiValued(boolean);
    descriptor: (Z)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // boolean multiValued
         0: .line 203
            aload 0 /* this */
            iload 1 /* multiValued */
            putfield io.vertx.core.cli.Option.multiValued:Z
         1: .line 204
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.multiValued:Z
            ifeq 3
         2: .line 206
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.cli.Option.singleValued:Z
         3: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // boolean multiValued
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lio/vertx/core/cli/Option;
            0    4     1  multiValued  Z
    MethodParameters:
             Name  Flags
      multiValued  

  public boolean isSingleValued();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 216
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.singleValued:Z
            ireturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/Option;

  public io.vertx.core.cli.Option setSingleValued(boolean);
    descriptor: (Z)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // boolean singleValued
         0: .line 226
            aload 0 /* this */
            iload 1 /* singleValued */
            putfield io.vertx.core.cli.Option.singleValued:Z
         1: .line 227
            aload 0 /* this */
            areturn
        end local 1 // boolean singleValued
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/core/cli/Option;
            0    2     1  singleValued  Z
    MethodParameters:
              Name  Flags
      singleValued  

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

  public io.vertx.core.cli.Option setArgName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // java.lang.String argName
         0: .line 244
            aload 1 /* argName */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 245
            aload 0 /* this */
            aload 1 /* argName */
            putfield io.vertx.core.cli.Option.argName:Ljava/lang/String;
         2: .line 246
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String argName
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/cli/Option;
            0    3     1  argName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      argName  

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

  public io.vertx.core.cli.Option setDescription(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // java.lang.String description
         0: .line 263
            aload 0 /* this */
            aload 1 /* description */
            putfield io.vertx.core.cli.Option.description:Ljava/lang/String;
         1: .line 264
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String description
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/core/cli/Option;
            0    2     1  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      description  

  public boolean isHidden();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 271
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.hidden:Z
            ireturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/Option;

  public io.vertx.core.cli.Option setHidden(boolean);
    descriptor: (Z)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // boolean hidden
         0: .line 281
            aload 0 /* this */
            iload 1 /* hidden */
            putfield io.vertx.core.cli.Option.hidden:Z
         1: .line 282
            aload 0 /* this */
            areturn
        end local 1 // boolean hidden
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/core/cli/Option;
            0    2     1  hidden  Z
    MethodParameters:
        Name  Flags
      hidden  

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

  public io.vertx.core.cli.Option setLongName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // java.lang.String longName
         0: .line 299
            aload 0 /* this */
            aload 1 /* longName */
            putfield io.vertx.core.cli.Option.longName:Ljava/lang/String;
         1: .line 300
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String longName
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/core/cli/Option;
            0    2     1  longName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      longName  

  public boolean isRequired();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 307
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.required:Z
            ireturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/Option;

  public io.vertx.core.cli.Option setRequired(boolean);
    descriptor: (Z)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // boolean required
         0: .line 317
            aload 0 /* this */
            iload 1 /* required */
            putfield io.vertx.core.cli.Option.required:Z
         1: .line 318
            aload 0 /* this */
            areturn
        end local 1 // boolean required
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/core/cli/Option;
            0    2     1  required  Z
    MethodParameters:
          Name  Flags
      required  

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

  public io.vertx.core.cli.Option setShortName(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // java.lang.String shortName
         0: .line 335
            aload 0 /* this */
            aload 1 /* shortName */
            putfield io.vertx.core.cli.Option.shortName:Ljava/lang/String;
         1: .line 336
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String shortName
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/core/cli/Option;
            0    2     1  shortName  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      shortName  

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

  public io.vertx.core.cli.Option setDefaultValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // java.lang.String defaultValue
         0: .line 353
            aload 0 /* this */
            aload 1 /* defaultValue */
            putfield io.vertx.core.cli.Option.defaultValue:Ljava/lang/String;
         1: .line 354
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.defaultValue:Ljava/lang/String;
            ifnull 3
         2: .line 355
            aload 0 /* this */
            iconst_0
            invokevirtual io.vertx.core.cli.Option.setRequired:(Z)Lio/vertx/core/cli/Option;
            pop
         3: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String defaultValue
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/vertx/core/cli/Option;
            0    4     1  defaultValue  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      defaultValue  

  public boolean isFlag();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 364
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.flag:Z
            ireturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/Option;

  public io.vertx.core.cli.Option setFlag(boolean);
    descriptor: (Z)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // boolean flag
         0: .line 378
            aload 0 /* this */
            iload 1 /* flag */
            putfield io.vertx.core.cli.Option.flag:Z
         1: .line 379
            aload 0 /* this */
            iconst_0
            invokevirtual io.vertx.core.cli.Option.setSingleValued:(Z)Lio/vertx/core/cli/Option;
            pop
         2: .line 380
            aload 0 /* this */
            areturn
        end local 1 // boolean flag
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/cli/Option;
            0    3     1  flag  Z
    MethodParameters:
      Name  Flags
      flag  

  public boolean isHelp();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.cli.Option this
         0: .line 389
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.help:Z
            ireturn
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/cli/Option;

  public io.vertx.core.cli.Option setHelp(boolean);
    descriptor: (Z)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // boolean help
         0: .line 399
            aload 0 /* this */
            iload 1 /* help */
            putfield io.vertx.core.cli.Option.help:Z
         1: .line 400
            aload 0 /* this */
            areturn
        end local 1 // boolean help
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/cli/Option;
            0    2     1  help  Z
    MethodParameters:
      Name  Flags
      help  

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

  public io.vertx.core.cli.Option setChoices(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // java.util.Set choices
         0: .line 418
            aload 0 /* this */
            aload 1 /* choices */
            putfield io.vertx.core.cli.Option.choices:Ljava/util/Set;
         1: .line 419
            aload 0 /* this */
            areturn
        end local 1 // java.util.Set choices
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/cli/Option;
            0    2     1  choices  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)Lio/vertx/core/cli/Option;
    MethodParameters:
         Name  Flags
      choices  

  public io.vertx.core.cli.Option addChoice(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/cli/Option;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.cli.Option this
        start local 1 // java.lang.String choice
         0: .line 430
            aload 0 /* this */
            getfield io.vertx.core.cli.Option.choices:Ljava/util/Set;
            aload 1 /* choice */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 431
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String choice
        end local 0 // io.vertx.core.cli.Option this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lio/vertx/core/cli/Option;
            0    2     1  choice  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      choice  
}
SourceFile: "Option.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.DataObject(generateConverter = true, publicConverter = false)