public class io.vertx.ext.shell.term.SSHTermOptions
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.shell.term.SSHTermOptions
  super_class: java.lang.Object
{
  public static final java.lang.String DEFAULT_HOST;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "0.0.0.0"

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

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

  public static final java.lang.String DEFAULT_INPUTRC;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "/io/vertx/ext/shell/inputrc"

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

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

  private io.vertx.core.net.KeyCertOptions keyPairOptions;
    descriptor: Lio/vertx/core/net/KeyCertOptions;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.ext.auth.AuthOptions authOptions;
    descriptor: Lio/vertx/ext/auth/AuthOptions;
    flags: (0x0002) ACC_PRIVATE

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 59
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
            putstatic io.vertx.ext.shell.term.SSHTermOptions.DEFAULT_DEFAULT_CHARSET:Ljava/lang/String;
         1: .line 60
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 70
            aload 0 /* this */
            ldc "0.0.0.0"
            putfield io.vertx.ext.shell.term.SSHTermOptions.host:Ljava/lang/String;
         2: .line 71
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.shell.term.SSHTermOptions.port:I
         3: .line 72
            aload 0 /* this */
            getstatic io.vertx.ext.shell.term.SSHTermOptions.DEFAULT_DEFAULT_CHARSET:Ljava/lang/String;
            putfield io.vertx.ext.shell.term.SSHTermOptions.defaultCharset:Ljava/lang/String;
         4: .line 73
            aload 0 /* this */
            ldc "/io/vertx/ext/shell/inputrc"
            putfield io.vertx.ext.shell.term.SSHTermOptions.intputrc:Ljava/lang/String;
         5: .line 74
            return
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;

  public void <init>(io.vertx.ext.shell.term.SSHTermOptions);
    descriptor: (Lio/vertx/ext/shell/term/SSHTermOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // io.vertx.ext.shell.term.SSHTermOptions that
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 77
            aload 0 /* this */
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.host:Ljava/lang/String;
            putfield io.vertx.ext.shell.term.SSHTermOptions.host:Ljava/lang/String;
         2: .line 78
            aload 0 /* this */
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.port:I
            putfield io.vertx.ext.shell.term.SSHTermOptions.port:I
         3: .line 79
            aload 0 /* this */
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.keyPairOptions:Lio/vertx/core/net/KeyCertOptions;
            ifnull 4
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.keyPairOptions:Lio/vertx/core/net/KeyCertOptions;
            invokeinterface io.vertx.core.net.KeyCertOptions.clone:()Lio/vertx/core/net/KeyCertOptions;
            goto 5
      StackMap locals: io.vertx.ext.shell.term.SSHTermOptions io.vertx.ext.shell.term.SSHTermOptions
      StackMap stack: io.vertx.ext.shell.term.SSHTermOptions
         4: aconst_null
      StackMap locals: io.vertx.ext.shell.term.SSHTermOptions io.vertx.ext.shell.term.SSHTermOptions
      StackMap stack: io.vertx.ext.shell.term.SSHTermOptions io.vertx.core.net.KeyCertOptions
         5: putfield io.vertx.ext.shell.term.SSHTermOptions.keyPairOptions:Lio/vertx/core/net/KeyCertOptions;
         6: .line 80
            aload 0 /* this */
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.authOptions:Lio/vertx/ext/auth/AuthOptions;
            ifnull 7
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.authOptions:Lio/vertx/ext/auth/AuthOptions;
            invokeinterface io.vertx.ext.auth.AuthOptions.clone:()Lio/vertx/ext/auth/AuthOptions;
            goto 8
      StackMap locals:
      StackMap stack: io.vertx.ext.shell.term.SSHTermOptions
         7: aconst_null
      StackMap locals: io.vertx.ext.shell.term.SSHTermOptions io.vertx.ext.shell.term.SSHTermOptions
      StackMap stack: io.vertx.ext.shell.term.SSHTermOptions io.vertx.ext.auth.AuthOptions
         8: putfield io.vertx.ext.shell.term.SSHTermOptions.authOptions:Lio/vertx/ext/auth/AuthOptions;
         9: .line 81
            aload 0 /* this */
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.defaultCharset:Ljava/lang/String;
            putfield io.vertx.ext.shell.term.SSHTermOptions.defaultCharset:Ljava/lang/String;
        10: .line 82
            aload 0 /* this */
            aload 1 /* that */
            getfield io.vertx.ext.shell.term.SSHTermOptions.intputrc:Ljava/lang/String;
            putfield io.vertx.ext.shell.term.SSHTermOptions.intputrc:Ljava/lang/String;
        11: .line 83
            return
        end local 1 // io.vertx.ext.shell.term.SSHTermOptions that
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0   12     1  that  Lio/vertx/ext/shell/term/SSHTermOptions;
    MethodParameters:
      Name  Flags
      that  

  public void <init>(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // io.vertx.core.json.JsonObject json
         0: .line 86
            aload 0 /* this */
            invokespecial io.vertx.ext.shell.term.SSHTermOptions.<init>:()V
         1: .line 87
            aload 1 /* json */
            aload 0 /* this */
            invokestatic io.vertx.ext.shell.term.SSHTermOptionsConverter.fromJson:(Ljava/lang/Iterable;Lio/vertx/ext/shell/term/SSHTermOptions;)V
         2: .line 88
            aload 0 /* this */
            aload 1 /* json */
            ldc "authOptions"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            ifnull 3
            aload 1 /* json */
            ldc "authOptions"
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            invokestatic io.vertx.ext.shell.term.SSHTermOptions.createAuthOptions:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/AuthOptions;
            goto 4
      StackMap locals: io.vertx.ext.shell.term.SSHTermOptions io.vertx.core.json.JsonObject
      StackMap stack: io.vertx.ext.shell.term.SSHTermOptions
         3: aconst_null
      StackMap locals: io.vertx.ext.shell.term.SSHTermOptions io.vertx.core.json.JsonObject
      StackMap stack: io.vertx.ext.shell.term.SSHTermOptions io.vertx.ext.auth.AuthOptions
         4: putfield io.vertx.ext.shell.term.SSHTermOptions.authOptions:Lio/vertx/ext/auth/AuthOptions;
         5: .line 89
            return
        end local 1 // io.vertx.core.json.JsonObject json
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    6     1  json  Lio/vertx/core/json/JsonObject;
    MethodParameters:
      Name  Flags
      json  

  public java.lang.String getHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
         0: .line 95
            aload 0 /* this */
            getfield io.vertx.ext.shell.term.SSHTermOptions.host:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;

  public io.vertx.ext.shell.term.SSHTermOptions setHost(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // java.lang.String host
         0: .line 104
            aload 0 /* this */
            aload 1 /* host */
            putfield io.vertx.ext.shell.term.SSHTermOptions.host:Ljava/lang/String;
         1: .line 105
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String host
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  host  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      host  

  public int getPort();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
         0: .line 112
            aload 0 /* this */
            getfield io.vertx.ext.shell.term.SSHTermOptions.port:I
            ireturn
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;

  public io.vertx.ext.shell.term.SSHTermOptions setPort(int);
    descriptor: (I)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // int port
         0: .line 121
            aload 0 /* this */
            iload 1 /* port */
            putfield io.vertx.ext.shell.term.SSHTermOptions.port:I
         1: .line 122
            aload 0 /* this */
            areturn
        end local 1 // int port
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  port  I
    MethodParameters:
      Name  Flags
      port  

  public io.vertx.core.net.KeyCertOptions getKeyPairOptions();
    descriptor: ()Lio/vertx/core/net/KeyCertOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
         0: .line 130
            aload 0 /* this */
            getfield io.vertx.ext.shell.term.SSHTermOptions.keyPairOptions:Lio/vertx/core/net/KeyCertOptions;
            areturn
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()

  public io.vertx.ext.shell.term.SSHTermOptions setKeyPairOptions(io.vertx.core.net.JksOptions);
    descriptor: (Lio/vertx/core/net/JksOptions;)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // io.vertx.core.net.JksOptions options
         0: .line 139
            aload 0 /* this */
            aload 1 /* options */
            putfield io.vertx.ext.shell.term.SSHTermOptions.keyPairOptions:Lio/vertx/core/net/KeyCertOptions;
         1: .line 140
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.net.JksOptions options
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  options  Lio/vertx/core/net/JksOptions;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.ext.shell.term.SSHTermOptions setPfxKeyPairOptions(io.vertx.core.net.PfxOptions);
    descriptor: (Lio/vertx/core/net/PfxOptions;)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // io.vertx.core.net.PfxOptions options
         0: .line 149
            aload 0 /* this */
            aload 1 /* options */
            putfield io.vertx.ext.shell.term.SSHTermOptions.keyPairOptions:Lio/vertx/core/net/KeyCertOptions;
         1: .line 150
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.net.PfxOptions options
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  options  Lio/vertx/core/net/PfxOptions;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.ext.shell.term.SSHTermOptions setPemKeyPairOptions(io.vertx.core.net.PemKeyCertOptions);
    descriptor: (Lio/vertx/core/net/PemKeyCertOptions;)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // io.vertx.core.net.PemKeyCertOptions options
         0: .line 159
            aload 0 /* this */
            aload 1 /* options */
            putfield io.vertx.ext.shell.term.SSHTermOptions.keyPairOptions:Lio/vertx/core/net/KeyCertOptions;
         1: .line 160
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.core.net.PemKeyCertOptions options
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  options  Lio/vertx/core/net/PemKeyCertOptions;
    MethodParameters:
         Name  Flags
      options  

  public io.vertx.ext.auth.AuthOptions getAuthOptions();
    descriptor: ()Lio/vertx/ext/auth/AuthOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
         0: .line 167
            aload 0 /* this */
            getfield io.vertx.ext.shell.term.SSHTermOptions.authOptions:Lio/vertx/ext/auth/AuthOptions;
            areturn
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;

  public io.vertx.ext.shell.term.SSHTermOptions setAuthOptions(io.vertx.ext.auth.AuthOptions);
    descriptor: (Lio/vertx/ext/auth/AuthOptions;)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // io.vertx.ext.auth.AuthOptions authOptions
         0: .line 178
            aload 0 /* this */
            aload 1 /* authOptions */
            putfield io.vertx.ext.shell.term.SSHTermOptions.authOptions:Lio/vertx/ext/auth/AuthOptions;
         1: .line 179
            aload 0 /* this */
            areturn
        end local 1 // io.vertx.ext.auth.AuthOptions authOptions
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  authOptions  Lio/vertx/ext/auth/AuthOptions;
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.GenIgnore()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        io.vertx.codegen.annotations.GenIgnore()
    MethodParameters:
             Name  Flags
      authOptions  

  public java.lang.String getDefaultCharset();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
         0: .line 183
            aload 0 /* this */
            getfield io.vertx.ext.shell.term.SSHTermOptions.defaultCharset:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;

  public io.vertx.ext.shell.term.SSHTermOptions setDefaultCharset(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // java.lang.String defaultCharset
         0: .line 193
            aload 0 /* this */
            aload 1 /* defaultCharset */
            putfield io.vertx.ext.shell.term.SSHTermOptions.defaultCharset:Ljava/lang/String;
         1: .line 194
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String defaultCharset
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  defaultCharset  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      defaultCharset  

  public java.lang.String getIntputrc();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
         0: .line 201
            aload 0 /* this */
            getfield io.vertx.ext.shell.term.SSHTermOptions.intputrc:Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/shell/term/SSHTermOptions;

  public io.vertx.ext.shell.term.SSHTermOptions setIntputrc(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/ext/shell/term/SSHTermOptions;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.shell.term.SSHTermOptions this
        start local 1 // java.lang.String intputrc
         0: .line 211
            aload 0 /* this */
            aload 1 /* intputrc */
            putfield io.vertx.ext.shell.term.SSHTermOptions.intputrc:Ljava/lang/String;
         1: .line 212
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String intputrc
        end local 0 // io.vertx.ext.shell.term.SSHTermOptions this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/vertx/ext/shell/term/SSHTermOptions;
            0    2     1  intputrc  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      intputrc  

  static io.vertx.ext.auth.AuthOptions createAuthOptions(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/auth/AuthOptions;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // io.vertx.core.json.JsonObject json
         0: .line 226
            aload 0 /* json */
            ldc "provider"
            ldc ""
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* provider */
        start local 1 // java.lang.String provider
         1: .line 228
            aload 1 /* provider */
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
              3257083: 2
            104079604: 3
            109407729: 4
              default: 11
          }
      StackMap locals: io.vertx.core.json.JsonObject java.lang.String top java.lang.String
      StackMap stack:
         2: aload 3
            ldc "jdbc"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            goto 11
      StackMap locals:
      StackMap stack:
         3: aload 3
            ldc "mongo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 11
      StackMap locals:
      StackMap stack:
         4: aload 3
            ldc "shiro"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            goto 11
         5: .line 230
      StackMap locals:
      StackMap stack:
            ldc "io.vertx.ext.auth.shiro.ShiroAuthOptions"
            astore 2 /* impl */
        start local 2 // java.lang.String impl
         6: .line 231
            goto 12
        end local 2 // java.lang.String impl
         7: .line 233
      StackMap locals:
      StackMap stack:
            ldc "io.vertx.ext.auth.jdbc.JDBCAuthOptions"
            astore 2 /* impl */
        start local 2 // java.lang.String impl
         8: .line 234
            goto 12
        end local 2 // java.lang.String impl
         9: .line 236
      StackMap locals:
      StackMap stack:
            ldc "io.vertx.ext.auth.mongo.MongoAuthOptions"
            astore 2 /* impl */
        start local 2 // java.lang.String impl
        10: .line 237
            goto 12
        end local 2 // java.lang.String impl
        11: .line 239
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid auth provider: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // java.lang.String impl
        12: .line 243
      StackMap locals: io.vertx.core.json.JsonObject java.lang.String java.lang.String
      StackMap stack:
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 4 /* cl */
        start local 4 // java.lang.ClassLoader cl
        13: .line 244
            aload 4 /* cl */
            aload 2 /* impl */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* optionsClass */
        start local 5 // java.lang.Class optionsClass
        14: .line 245
            aload 5 /* optionsClass */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lio/vertx/core/json/JsonObject;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 6 /* ctor */
        start local 6 // java.lang.reflect.Constructor ctor
        15: .line 246
            aload 6 /* ctor */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* json */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.auth.AuthOptions
        16: areturn
        end local 6 // java.lang.reflect.Constructor ctor
        end local 5 // java.lang.Class optionsClass
        end local 4 // java.lang.ClassLoader cl
        17: .line 247
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
        18: .line 248
            new io.vertx.core.VertxException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Provider class not found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* impl */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " / check your classpath"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 249
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 4 /* e */
        start local 4 // java.lang.InstantiationException e
        20: .line 250
            new io.vertx.core.VertxException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot create "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " options"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokevirtual java.lang.InstantiationException.getCause:()Ljava/lang/Throwable;
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.InstantiationException e
        21: .line 251
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        22: .line 252
            new io.vertx.core.VertxException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot create "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " options"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* provider */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 2 // java.lang.String impl
        end local 1 // java.lang.String provider
        end local 0 // io.vertx.core.json.JsonObject json
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          json  Lio/vertx/core/json/JsonObject;
            1   23     1      provider  Ljava/lang/String;
            6    7     2          impl  Ljava/lang/String;
            8    9     2          impl  Ljava/lang/String;
           10   11     2          impl  Ljava/lang/String;
           12   23     2          impl  Ljava/lang/String;
           13   17     4            cl  Ljava/lang/ClassLoader;
           14   17     5  optionsClass  Ljava/lang/Class<*>;
           15   17     6          ctor  Ljava/lang/reflect/Constructor<*>;
           20   21     4             e  Ljava/lang/InstantiationException;
           22   23     4             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          12    16      17  Class java.lang.ClassNotFoundException
          12    16      19  Class java.lang.InstantiationException
          12    16      21  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      json  
}
SourceFile: "SSHTermOptions.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
    RuntimeVisibleAnnotations: 
      io.vertx.codegen.annotations.DataObject(generateConverter = true)