public class io.dropwizard.client.DropwizardSSLConnectionSocketFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.dropwizard.client.DropwizardSSLConnectionSocketFactory
  super_class: java.lang.Object
{
  private final io.dropwizard.client.ssl.TlsConfiguration configuration;
    descriptor: Lio/dropwizard/client/ssl/TlsConfiguration;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javax.net.ssl.HostnameVerifier verifier;
    descriptor: Ljavax/net/ssl/HostnameVerifier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()

  public void <init>(io.dropwizard.client.ssl.TlsConfiguration);
    descriptor: (Lio/dropwizard/client/ssl/TlsConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
        start local 1 // io.dropwizard.client.ssl.TlsConfiguration configuration
         0: .line 31
            aload 0 /* this */
            aload 1 /* configuration */
            aconst_null
            invokespecial io.dropwizard.client.DropwizardSSLConnectionSocketFactory.<init>:(Lio/dropwizard/client/ssl/TlsConfiguration;Ljavax/net/ssl/HostnameVerifier;)V
         1: .line 32
            return
        end local 1 // io.dropwizard.client.ssl.TlsConfiguration configuration
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            0    2     1  configuration  Lio/dropwizard/client/ssl/TlsConfiguration;
    MethodParameters:
               Name  Flags
      configuration  

  public void <init>(io.dropwizard.client.ssl.TlsConfiguration, javax.net.ssl.HostnameVerifier);
    descriptor: (Lio/dropwizard/client/ssl/TlsConfiguration;Ljavax/net/ssl/HostnameVerifier;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
        start local 1 // io.dropwizard.client.ssl.TlsConfiguration configuration
        start local 2 // javax.net.ssl.HostnameVerifier verifier
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            aload 1 /* configuration */
            putfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
         2: .line 36
            aload 0 /* this */
            aload 2 /* verifier */
            putfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.verifier:Ljavax/net/ssl/HostnameVerifier;
         3: .line 37
            return
        end local 2 // javax.net.ssl.HostnameVerifier verifier
        end local 1 // io.dropwizard.client.ssl.TlsConfiguration configuration
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            0    4     1  configuration  Lio/dropwizard/client/ssl/TlsConfiguration;
            0    4     2       verifier  Ljavax/net/ssl/HostnameVerifier;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        javax.annotation.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
      1:
        javax.annotation.Nullable()
    MethodParameters:
               Name  Flags
      configuration  
      verifier       

  public org.apache.http.conn.ssl.SSLConnectionSocketFactory getSocketFactory();
    descriptor: ()Lorg/apache/http/conn/ssl/SSLConnectionSocketFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
         0: .line 40
            new org.apache.http.conn.ssl.SSLConnectionSocketFactory
            dup
            aload 0 /* this */
            invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.buildSslContext:()Ljavax/net/ssl/SSLContext;
            aload 0 /* this */
            invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.getSupportedProtocols:()[Ljava/lang/String;
            aload 0 /* this */
            invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.getSupportedCiphers:()[Ljava/lang/String;
         1: .line 41
            aload 0 /* this */
            invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.chooseHostnameVerifier:()Ljavax/net/ssl/HostnameVerifier;
         2: .line 40
            invokespecial org.apache.http.conn.ssl.SSLConnectionSocketFactory.<init>:(Ljavax/net/ssl/SSLContext;[Ljava/lang/String;[Ljava/lang/String;Ljavax/net/ssl/HostnameVerifier;)V
            areturn
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
    Exceptions:
      throws org.apache.http.conn.ssl.SSLInitializationException

  private java.lang.String[] getSupportedCiphers();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
         0: .line 46
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getSupportedCiphers:()Ljava/util/List;
            astore 1 /* supportedCiphers */
        start local 1 // java.util.List supportedCiphers
         1: .line 47
            aload 1 /* supportedCiphers */
            ifnonnull 3
         2: .line 48
            aconst_null
            areturn
         3: .line 50
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* supportedCiphers */
            aload 1 /* supportedCiphers */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.List supportedCiphers
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            1    4     1  supportedCiphers  Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN, location=[ARRAY_ELEMENT]
        javax.annotation.Nullable()

  private java.lang.String[] getSupportedProtocols();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
         0: .line 55
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getSupportedProtocols:()Ljava/util/List;
            astore 1 /* supportedProtocols */
        start local 1 // java.util.List supportedProtocols
         1: .line 56
            aload 1 /* supportedProtocols */
            ifnonnull 3
         2: .line 57
            aconst_null
            areturn
         3: .line 59
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* supportedProtocols */
            aload 1 /* supportedProtocols */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.List supportedProtocols
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            1    4     1  supportedProtocols  Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN, location=[ARRAY_ELEMENT]
        javax.annotation.Nullable()

  private javax.net.ssl.HostnameVerifier chooseHostnameVerifier();
    descriptor: ()Ljavax/net/ssl/HostnameVerifier;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
         0: .line 63
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.isVerifyHostname:()Z
            ifeq 4
         1: .line 64
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.verifier:Ljavax/net/ssl/HostnameVerifier;
            ifnull 2
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.verifier:Ljavax/net/ssl/HostnameVerifier;
            goto 3
      StackMap locals:
      StackMap stack:
         2: invokestatic org.apache.http.conn.ssl.SSLConnectionSocketFactory.getDefaultHostnameVerifier:()Ljavax/net/ssl/HostnameVerifier;
      StackMap locals:
      StackMap stack: javax.net.ssl.HostnameVerifier
         3: areturn
         4: .line 66
      StackMap locals:
      StackMap stack:
            new org.apache.http.conn.ssl.NoopHostnameVerifier
            dup
            invokespecial org.apache.http.conn.ssl.NoopHostnameVerifier.<init>:()V
            areturn
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;

  private javax.net.ssl.SSLContext buildSslContext();
    descriptor: ()Ljavax/net/ssl/SSLContext;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
         0: .line 73
            new org.apache.http.ssl.SSLContextBuilder
            dup
            invokespecial org.apache.http.ssl.SSLContextBuilder.<init>:()V
            astore 2 /* sslContextBuilder */
        start local 2 // org.apache.http.ssl.SSLContextBuilder sslContextBuilder
         1: .line 74
            aload 2 /* sslContextBuilder */
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getProtocol:()Ljava/lang/String;
            invokevirtual org.apache.http.ssl.SSLContextBuilder.setProtocol:(Ljava/lang/String;)Lorg/apache/http/ssl/SSLContextBuilder;
            pop
         2: .line 75
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getProvider:()Ljava/lang/String;
            astore 3 /* configuredProvider */
        start local 3 // java.lang.String configuredProvider
         3: .line 76
            aload 3 /* configuredProvider */
            ifnull 5
         4: .line 77
            aload 2 /* sslContextBuilder */
            aload 3 /* configuredProvider */
            invokevirtual org.apache.http.ssl.SSLContextBuilder.setProvider:(Ljava/lang/String;)Lorg/apache/http/ssl/SSLContextBuilder;
            pop
         5: .line 79
      StackMap locals: io.dropwizard.client.DropwizardSSLConnectionSocketFactory top org.apache.http.ssl.SSLContextBuilder java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sslContextBuilder */
            invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadKeyMaterial:(Lorg/apache/http/ssl/SSLContextBuilder;)V
         6: .line 80
            aload 0 /* this */
            aload 2 /* sslContextBuilder */
            invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadTrustMaterial:(Lorg/apache/http/ssl/SSLContextBuilder;)V
         7: .line 81
            aload 2 /* sslContextBuilder */
            invokevirtual org.apache.http.ssl.SSLContextBuilder.build:()Ljavax/net/ssl/SSLContext;
            astore 1 /* sslContext */
        end local 3 // java.lang.String configuredProvider
        end local 2 // org.apache.http.ssl.SSLContextBuilder sslContextBuilder
        start local 1 // javax.net.ssl.SSLContext sslContext
         8: .line 82
            goto 11
        end local 1 // javax.net.ssl.SSLContext sslContext
      StackMap locals: io.dropwizard.client.DropwizardSSLConnectionSocketFactory
      StackMap stack: java.lang.Exception
         9: astore 2 /* e */
        start local 2 // java.lang.Exception e
        10: .line 83
            new org.apache.http.conn.ssl.SSLInitializationException
            dup
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial org.apache.http.conn.ssl.SSLInitializationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        start local 1 // javax.net.ssl.SSLContext sslContext
        11: .line 85
      StackMap locals: javax.net.ssl.SSLContext
      StackMap stack:
            aload 1 /* sslContext */
            areturn
        end local 1 // javax.net.ssl.SSLContext sslContext
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            8    9     1          sslContext  Ljavax/net/ssl/SSLContext;
           11   12     1          sslContext  Ljavax/net/ssl/SSLContext;
            1    8     2   sslContextBuilder  Lorg/apache/http/ssl/SSLContextBuilder;
            3    8     3  configuredProvider  Ljava/lang/String;
           10   11     2                   e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     8       9  Class java.lang.Exception
    Exceptions:
      throws org.apache.http.conn.ssl.SSLInitializationException

  private org.apache.http.ssl.PrivateKeyStrategy choosePrivateKeyStrategy();
    descriptor: ()Lorg/apache/http/ssl/PrivateKeyStrategy;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
         0: .line 90
            aconst_null
            astore 1 /* privateKeyStrategy */
        start local 1 // org.apache.http.ssl.PrivateKeyStrategy privateKeyStrategy
         1: .line 91
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getCertAlias:()Ljava/lang/String;
            ifnull 3
         2: .line 95
            aload 0 /* this */
            invokedynamic chooseAlias(Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;)Lorg/apache/http/ssl/PrivateKeyStrategy;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
                  io/dropwizard/client/DropwizardSSLConnectionSocketFactory.lambda$0(Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String; (7)
                  (Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
            astore 1 /* privateKeyStrategy */
         3: .line 98
      StackMap locals: org.apache.http.ssl.PrivateKeyStrategy
      StackMap stack:
            aload 1 /* privateKeyStrategy */
            areturn
        end local 1 // org.apache.http.ssl.PrivateKeyStrategy privateKeyStrategy
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            1    4     1  privateKeyStrategy  Lorg/apache/http/ssl/PrivateKeyStrategy;
    RuntimeVisibleAnnotations: 
      javax.annotation.Nullable()
    RuntimeVisibleTypeAnnotations: 
      METHOD_RETURN
        javax.annotation.Nullable()

  private void loadKeyMaterial(org.apache.http.ssl.SSLContextBuilder);
    descriptor: (Lorg/apache/http/ssl/SSLContextBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
        start local 1 // org.apache.http.ssl.SSLContextBuilder sslContextBuilder
         0: .line 102
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePath:()Ljava/io/File;
            ifnull 7
         1: .line 103
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStoreType:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePath:()Ljava/io/File;
         2: .line 104
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePassword:()Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         3: .line 103
            invokestatic io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadKeyStore:(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 2 /* keystore */
        start local 2 // java.security.KeyStore keystore
         4: .line 106
            aload 1 /* sslContextBuilder */
            aload 2 /* keystore */
         5: .line 107
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getKeyStorePassword:()Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.toCharArray:()[C
            aload 0 /* this */
            invokevirtual io.dropwizard.client.DropwizardSSLConnectionSocketFactory.choosePrivateKeyStrategy:()Lorg/apache/http/ssl/PrivateKeyStrategy;
         6: .line 106
            invokevirtual org.apache.http.ssl.SSLContextBuilder.loadKeyMaterial:(Ljava/security/KeyStore;[CLorg/apache/http/ssl/PrivateKeyStrategy;)Lorg/apache/http/ssl/SSLContextBuilder;
            pop
        end local 2 // java.security.KeyStore keystore
         7: .line 109
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.http.ssl.SSLContextBuilder sslContextBuilder
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            0    8     1  sslContextBuilder  Lorg/apache/http/ssl/SSLContextBuilder;
            4    7     2           keystore  Ljava/security/KeyStore;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                   Name  Flags
      sslContextBuilder  

  private void loadTrustMaterial(org.apache.http.ssl.SSLContextBuilder);
    descriptor: (Lorg/apache/http/ssl/SSLContextBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
        start local 1 // org.apache.http.ssl.SSLContextBuilder sslContextBuilder
         0: .line 112
            aconst_null
            astore 2 /* trustStore */
        start local 2 // java.security.KeyStore trustStore
         1: .line 113
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStorePath:()Ljava/io/File;
            ifnull 5
         2: .line 114
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStoreType:()Ljava/lang/String;
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStorePath:()Ljava/io/File;
         3: .line 115
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getTrustStorePassword:()Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
         4: .line 114
            invokestatic io.dropwizard.client.DropwizardSSLConnectionSocketFactory.loadKeyStore:(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)Ljava/security/KeyStore;
            astore 2 /* trustStore */
         5: .line 117
      StackMap locals: java.security.KeyStore
      StackMap stack:
            aconst_null
            astore 3 /* trustStrategy */
        start local 3 // org.apache.http.ssl.TrustStrategy trustStrategy
         6: .line 118
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.isTrustSelfSignedCertificates:()Z
            ifeq 8
         7: .line 119
            new org.apache.http.conn.ssl.TrustSelfSignedStrategy
            dup
            invokespecial org.apache.http.conn.ssl.TrustSelfSignedStrategy.<init>:()V
            astore 3 /* trustStrategy */
         8: .line 121
      StackMap locals: org.apache.http.ssl.TrustStrategy
      StackMap stack:
            aload 1 /* sslContextBuilder */
            aload 2 /* trustStore */
            aload 3 /* trustStrategy */
            invokevirtual org.apache.http.ssl.SSLContextBuilder.loadTrustMaterial:(Ljava/security/KeyStore;Lorg/apache/http/ssl/TrustStrategy;)Lorg/apache/http/ssl/SSLContextBuilder;
            pop
         9: .line 122
            return
        end local 3 // org.apache.http.ssl.TrustStrategy trustStrategy
        end local 2 // java.security.KeyStore trustStore
        end local 1 // org.apache.http.ssl.SSLContextBuilder sslContextBuilder
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            0   10     1  sslContextBuilder  Lorg/apache/http/ssl/SSLContextBuilder;
            1   10     2         trustStore  Ljava/security/KeyStore;
            6   10     3      trustStrategy  Lorg/apache/http/ssl/TrustStrategy;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                   Name  Flags
      sslContextBuilder  

  private static java.security.KeyStore loadKeyStore(java.lang.String, java.io.File, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/io/File;Ljava/lang/String;)Ljava/security/KeyStore;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // java.lang.String type
        start local 1 // java.io.File path
        start local 2 // java.lang.String password
         0: .line 125
            aload 0 /* type */
            invokestatic java.security.KeyStore.getInstance:(Ljava/lang/String;)Ljava/security/KeyStore;
            astore 3 /* keyStore */
        start local 3 // java.security.KeyStore keyStore
         1: .line 126
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: new java.io.FileInputStream
            dup
            aload 1 /* path */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 6 /* inputStream */
        start local 6 // java.io.InputStream inputStream
         3: .line 127
            aload 3 /* keyStore */
            aload 6 /* inputStream */
            aload 2 /* password */
            invokevirtual java.lang.String.toCharArray:()[C
            invokevirtual java.security.KeyStore.load:(Ljava/io/InputStream;[C)V
         4: .line 128
            aload 6 /* inputStream */
            ifnull 10
            aload 6 /* inputStream */
            invokevirtual java.io.InputStream.close:()V
            goto 10
      StackMap locals: java.lang.String java.io.File java.lang.String java.security.KeyStore java.lang.Throwable java.lang.Throwable java.io.InputStream
      StackMap stack: java.lang.Throwable
         5: astore 4
            aload 6 /* inputStream */
            ifnull 6
            aload 6 /* inputStream */
            invokevirtual java.io.InputStream.close:()V
        end local 6 // java.io.InputStream inputStream
      StackMap locals:
      StackMap stack:
         6: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 5
            aload 4
            ifnonnull 8
            aload 5
            astore 4
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 4
            aload 5
            if_acmpeq 9
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         9: aload 4
            athrow
        10: .line 129
      StackMap locals:
      StackMap stack:
            aload 3 /* keyStore */
            areturn
        end local 3 // java.security.KeyStore keyStore
        end local 2 // java.lang.String password
        end local 1 // java.io.File path
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         type  Ljava/lang/String;
            0   11     1         path  Ljava/io/File;
            0   11     2     password  Ljava/lang/String;
            1   11     3     keyStore  Ljava/security/KeyStore;
            3    6     6  inputStream  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
           3     4       5  any
           2     7       7  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      type      
      path      
      password  

  private java.lang.String lambda$0(java.util.Map, java.net.Socket);
    descriptor: (Ljava/util/Map;Ljava/net/Socket;)Ljava/lang/String;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
        start local 1 // java.util.Map aliases
        start local 2 // java.net.Socket socket
         0: .line 95
            aload 0 /* this */
            getfield io.dropwizard.client.DropwizardSSLConnectionSocketFactory.configuration:Lio/dropwizard/client/ssl/TlsConfiguration;
            invokevirtual io.dropwizard.client.ssl.TlsConfiguration.getCertAlias:()Ljava/lang/String;
            areturn
        end local 2 // java.net.Socket socket
        end local 1 // java.util.Map aliases
        end local 0 // io.dropwizard.client.DropwizardSSLConnectionSocketFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/dropwizard/client/DropwizardSSLConnectionSocketFactory;
            0    1     1  aliases  Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/ssl/PrivateKeyDetails;>;
            0    1     2   socket  Ljava/net/Socket;
}
SourceFile: "DropwizardSSLConnectionSocketFactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles