final class org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory extends org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory<org.apache.commons.net.ftp.FTPSClient, org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory
  super_class: org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory
{
  private void <init>(org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder);
    descriptor: (Lorg/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory this
        start local 1 // org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder builder
         0: .line 65
            aload 0 /* this */
            aload 1 /* builder */
            invokespecial org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory.<init>:(Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder;)V
         1: .line 66
            return
        end local 1 // org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder builder
        end local 0 // org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/commons/vfs2/provider/ftps/FtpsClientFactory$FtpsConnectionFactory;
            0    2     1  builder  Lorg/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder;
    MethodParameters:
         Name  Flags
      builder  final

  protected org.apache.commons.net.ftp.FTPSClient createClient(org.apache.commons.vfs2.FileSystemOptions);
    descriptor: (Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/net/ftp/FTPSClient;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory this
        start local 1 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
         0: .line 71
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory.builder:Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder;
            checkcast org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder
            aload 1 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder.getFtpsMode:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/vfs2/provider/ftps/FtpsMode;
            getstatic org.apache.commons.vfs2.provider.ftps.FtpsMode.IMPLICIT:Lorg/apache/commons/vfs2/provider/ftps/FtpsMode;
            if_acmpne 3
         1: .line 72
            new org.apache.commons.net.ftp.FTPSClient
            dup
            iconst_1
            invokespecial org.apache.commons.net.ftp.FTPSClient.<init>:(Z)V
            astore 2 /* client */
        start local 2 // org.apache.commons.net.ftp.FTPSClient client
         2: .line 73
            goto 4
        end local 2 // org.apache.commons.net.ftp.FTPSClient client
         3: .line 74
      StackMap locals:
      StackMap stack:
            new org.apache.commons.net.ftp.FTPSClient
            dup
            invokespecial org.apache.commons.net.ftp.FTPSClient.<init>:()V
            astore 2 /* client */
        start local 2 // org.apache.commons.net.ftp.FTPSClient client
         4: .line 77
      StackMap locals: org.apache.commons.net.ftp.FTPSClient
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory.builder:Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder;
            checkcast org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder
            aload 1 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder.getTrustManager:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljavax/net/ssl/TrustManager;
            astore 3 /* trustManager */
        start local 3 // javax.net.ssl.TrustManager trustManager
         5: .line 78
            aload 3 /* trustManager */
            ifnull 7
         6: .line 79
            aload 2 /* client */
            aload 3 /* trustManager */
            invokevirtual org.apache.commons.net.ftp.FTPSClient.setTrustManager:(Ljavax/net/ssl/TrustManager;)V
         7: .line 82
      StackMap locals: javax.net.ssl.TrustManager
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory.builder:Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder;
            checkcast org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder
            aload 1 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder.getKeyManager:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljavax/net/ssl/KeyManager;
            astore 4 /* keyManager */
        start local 4 // javax.net.ssl.KeyManager keyManager
         8: .line 83
            aload 4 /* keyManager */
            ifnull 10
         9: .line 84
            aload 2 /* client */
            aload 4 /* keyManager */
            invokevirtual org.apache.commons.net.ftp.FTPSClient.setKeyManager:(Ljavax/net/ssl/KeyManager;)V
        10: .line 86
      StackMap locals: javax.net.ssl.KeyManager
      StackMap stack:
            aload 2 /* client */
            areturn
        end local 4 // javax.net.ssl.KeyManager keyManager
        end local 3 // javax.net.ssl.TrustManager trustManager
        end local 2 // org.apache.commons.net.ftp.FTPSClient client
        end local 1 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
        end local 0 // org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/apache/commons/vfs2/provider/ftps/FtpsClientFactory$FtpsConnectionFactory;
            0   11     1  fileSystemOptions  Lorg/apache/commons/vfs2/FileSystemOptions;
            2    3     2             client  Lorg/apache/commons/net/ftp/FTPSClient;
            4   11     2             client  Lorg/apache/commons/net/ftp/FTPSClient;
            5   11     3       trustManager  Ljavax/net/ssl/TrustManager;
            8   11     4         keyManager  Ljavax/net/ssl/KeyManager;
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
                   Name  Flags
      fileSystemOptions  final

  protected void setupOpenConnection(org.apache.commons.net.ftp.FTPSClient, org.apache.commons.vfs2.FileSystemOptions);
    descriptor: (Lorg/apache/commons/net/ftp/FTPSClient;Lorg/apache/commons/vfs2/FileSystemOptions;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory this
        start local 1 // org.apache.commons.net.ftp.FTPSClient client
        start local 2 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
         0: .line 92
            aload 0 /* this */
            getfield org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory.builder:Lorg/apache/commons/vfs2/provider/ftp/FtpFileSystemConfigBuilder;
            checkcast org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder
            aload 2 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsFileSystemConfigBuilder.getDataChannelProtectionLevel:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/vfs2/provider/ftps/FtpsDataChannelProtectionLevel;
            astore 3 /* level */
        start local 3 // org.apache.commons.vfs2.provider.ftps.FtpsDataChannelProtectionLevel level
         1: .line 93
            aload 3 /* level */
            ifnull 7
         2: .line 96
            aload 1 /* client */
            lconst_0
            invokevirtual org.apache.commons.net.ftp.FTPSClient.execPBSZ:(J)V
         3: .line 97
            aload 1 /* client */
            aload 3 /* level */
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsDataChannelProtectionLevel.name:()Ljava/lang/String;
            invokevirtual org.apache.commons.net.ftp.FTPSClient.execPROT:(Ljava/lang/String;)V
         4: .line 98
            goto 7
      StackMap locals: org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory org.apache.commons.net.ftp.FTPSClient org.apache.commons.vfs2.FileSystemOptions org.apache.commons.vfs2.provider.ftps.FtpsDataChannelProtectionLevel
      StackMap stack: javax.net.ssl.SSLException
         5: astore 4 /* e */
        start local 4 // javax.net.ssl.SSLException e
         6: .line 99
            new org.apache.commons.vfs2.FileSystemException
            dup
            ldc "vfs.provider.ftps/data-channel.level"
            aload 4 /* e */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* level */
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsDataChannelProtectionLevel.toString:()Ljava/lang/String;
            aastore
            invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
            athrow
        end local 4 // javax.net.ssl.SSLException e
         7: .line 102
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.commons.vfs2.provider.ftps.FtpsDataChannelProtectionLevel level
        end local 2 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
        end local 1 // org.apache.commons.net.ftp.FTPSClient client
        end local 0 // org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/apache/commons/vfs2/provider/ftps/FtpsClientFactory$FtpsConnectionFactory;
            0    8     1             client  Lorg/apache/commons/net/ftp/FTPSClient;
            0    8     2  fileSystemOptions  Lorg/apache/commons/vfs2/FileSystemOptions;
            1    8     3              level  Lorg/apache/commons/vfs2/provider/ftps/FtpsDataChannelProtectionLevel;
            6    7     4                  e  Ljavax/net/ssl/SSLException;
      Exception table:
        from    to  target  type
           2     4       5  Class javax.net.ssl.SSLException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                   Name  Flags
      client             final
      fileSystemOptions  final

  protected org.apache.commons.net.ftp.FTPClient createClient(org.apache.commons.vfs2.FileSystemOptions);
    descriptor: (Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/net/ftp/FTPClient;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory.createClient:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/net/ftp/FTPSClient;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException

  protected void setupOpenConnection(org.apache.commons.net.ftp.FTPClient, org.apache.commons.vfs2.FileSystemOptions);
    descriptor: (Lorg/apache/commons/net/ftp/FTPClient;Lorg/apache/commons/vfs2/FileSystemOptions;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.commons.net.ftp.FTPSClient
            aload 2
            invokevirtual org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory.setupOpenConnection:(Lorg/apache/commons/net/ftp/FTPSClient;Lorg/apache/commons/vfs2/FileSystemOptions;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException
}
Signature: Lorg/apache/commons/vfs2/provider/ftp/FtpClientFactory$ConnectionFactory<Lorg/apache/commons/net/ftp/FTPSClient;Lorg/apache/commons/vfs2/provider/ftps/FtpsFileSystemConfigBuilder;>;
SourceFile: "FtpsClientFactory.java"
NestHost: org.apache.commons.vfs2.provider.ftps.FtpsClientFactory
InnerClasses:
  public abstract ConnectionFactory = org.apache.commons.vfs2.provider.ftp.FtpClientFactory$ConnectionFactory of org.apache.commons.vfs2.provider.ftp.FtpClientFactory
  private final FtpsConnectionFactory = org.apache.commons.vfs2.provider.ftps.FtpsClientFactory$FtpsConnectionFactory of org.apache.commons.vfs2.provider.ftps.FtpsClientFactory