public final class org.apache.commons.vfs2.provider.sftp.SftpClientFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.vfs2.provider.sftp.SftpClientFactory
  super_class: java.lang.Object
{
  private static final java.lang.String SSH_DIR_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".ssh"

  private static final java.lang.String OPENSSH_CONFIG_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "config"

  private static final org.apache.commons.logging.Log LOG;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 47
            ldc Lorg/apache/commons/vfs2/provider/sftp/SftpClientFactory;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.LOG:Lorg/apache/commons/logging/Log;
         1: .line 50
            new org.apache.commons.vfs2.provider.sftp.SftpClientFactory$JSchLogger
            dup
            invokespecial org.apache.commons.vfs2.provider.sftp.SftpClientFactory$JSchLogger.<init>:()V
            invokestatic com.jcraft.jsch.JSch.setLogger:(Lcom/jcraft/jsch/Logger;)V
         2: .line 51
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.vfs2.provider.sftp.SftpClientFactory this
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            return
        end local 0 // org.apache.commons.vfs2.provider.sftp.SftpClientFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/vfs2/provider/sftp/SftpClientFactory;

  public static com.jcraft.jsch.Session createConnection(java.lang.String, int, char[], char[], org.apache.commons.vfs2.FileSystemOptions);
    descriptor: (Ljava/lang/String;I[C[CLorg/apache/commons/vfs2/FileSystemOptions;)Lcom/jcraft/jsch/Session;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=27, args_size=5
        start local 0 // java.lang.String hostname
        start local 1 // int port
        start local 2 // char[] username
        start local 3 // char[] password
        start local 4 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
         0: .line 69
            new com.jcraft.jsch.JSch
            dup
            invokespecial com.jcraft.jsch.JSch.<init>:()V
            astore 5 /* jsch */
        start local 5 // com.jcraft.jsch.JSch jsch
         1: .line 71
            aconst_null
            astore 6 /* sshDir */
        start local 6 // java.io.File sshDir
         2: .line 74
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getInstance:()Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;
            astore 7 /* builder */
        start local 7 // org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder builder
         3: .line 75
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getKnownHosts:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/io/File;
            astore 8 /* knownHostsFile */
        start local 8 // java.io.File knownHostsFile
         4: .line 76
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getIdentityProvider:(Lorg/apache/commons/vfs2/FileSystemOptions;)[Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;
            astore 9 /* identities */
        start local 9 // org.apache.commons.vfs2.provider.sftp.IdentityProvider[] identities
         5: .line 77
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getIdentityRepositoryFactory:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/vfs2/provider/sftp/IdentityRepositoryFactory;
            astore 10 /* repositoryFactory */
        start local 10 // org.apache.commons.vfs2.provider.sftp.IdentityRepositoryFactory repositoryFactory
         6: .line 78
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getConfigRepository:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lcom/jcraft/jsch/ConfigRepository;
            astore 11 /* configRepository */
        start local 11 // com.jcraft.jsch.ConfigRepository configRepository
         7: .line 79
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.isLoadOpenSSHConfig:(Lorg/apache/commons/vfs2/FileSystemOptions;)Z
            istore 12 /* loadOpenSSHConfig */
        start local 12 // boolean loadOpenSSHConfig
         8: .line 81
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.findSshDir:()Ljava/io/File;
            astore 6 /* sshDir */
         9: .line 83
            aload 5 /* jsch */
            aload 6 /* sshDir */
            aload 8 /* knownHostsFile */
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.setKnownHosts:(Lcom/jcraft/jsch/JSch;Ljava/io/File;Ljava/io/File;)V
        10: .line 85
            aload 10 /* repositoryFactory */
            ifnull 12
        11: .line 86
            aload 5 /* jsch */
            aload 10 /* repositoryFactory */
            aload 5 /* jsch */
            invokeinterface org.apache.commons.vfs2.provider.sftp.IdentityRepositoryFactory.create:(Lcom/jcraft/jsch/JSch;)Lcom/jcraft/jsch/IdentityRepository;
            invokevirtual com.jcraft.jsch.JSch.setIdentityRepository:(Lcom/jcraft/jsch/IdentityRepository;)V
        12: .line 89
      StackMap locals: java.lang.String int char[] char[] org.apache.commons.vfs2.FileSystemOptions com.jcraft.jsch.JSch java.io.File org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder java.io.File org.apache.commons.vfs2.provider.sftp.IdentityProvider[] org.apache.commons.vfs2.provider.sftp.IdentityRepositoryFactory com.jcraft.jsch.ConfigRepository int
      StackMap stack:
            aload 5 /* jsch */
            aload 6 /* sshDir */
            aload 9 /* identities */
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.addIdentities:(Lcom/jcraft/jsch/JSch;Ljava/io/File;[Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;)V
        13: .line 90
            aload 5 /* jsch */
            aload 6 /* sshDir */
            aload 11 /* configRepository */
            iload 12 /* loadOpenSSHConfig */
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.setConfigRepository:(Lcom/jcraft/jsch/JSch;Ljava/io/File;Lcom/jcraft/jsch/ConfigRepository;Z)V
        14: .line 94
            aload 5 /* jsch */
            new java.lang.String
            dup
            aload 2 /* username */
            invokespecial java.lang.String.<init>:([C)V
            aload 0 /* hostname */
            iload 1 /* port */
            invokevirtual com.jcraft.jsch.JSch.getSession:(Ljava/lang/String;Ljava/lang/String;I)Lcom/jcraft/jsch/Session;
            astore 13 /* session */
        start local 13 // com.jcraft.jsch.Session session
        15: .line 95
            aload 3 /* password */
            ifnull 17
        16: .line 96
            aload 13 /* session */
            new java.lang.String
            dup
            aload 3 /* password */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual com.jcraft.jsch.Session.setPassword:(Ljava/lang/String;)V
        17: .line 99
      StackMap locals: com.jcraft.jsch.Session
      StackMap stack:
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getSessionTimeoutMillis:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/Integer;
            astore 14 /* sessionTimeout */
        start local 14 // java.lang.Integer sessionTimeout
        18: .line 100
            aload 14 /* sessionTimeout */
            ifnull 20
        19: .line 101
            aload 13 /* session */
            aload 14 /* sessionTimeout */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.jcraft.jsch.Session.setTimeout:(I)V
        20: .line 104
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getUserInfo:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lcom/jcraft/jsch/UserInfo;
            astore 15 /* userInfo */
        start local 15 // com.jcraft.jsch.UserInfo userInfo
        21: .line 105
            aload 15 /* userInfo */
            ifnull 23
        22: .line 106
            aload 13 /* session */
            aload 15 /* userInfo */
            invokevirtual com.jcraft.jsch.Session.setUserInfo:(Lcom/jcraft/jsch/UserInfo;)V
        23: .line 109
      StackMap locals: com.jcraft.jsch.UserInfo
      StackMap stack:
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 16 /* config */
        start local 16 // java.util.Properties config
        24: .line 112
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getStrictHostKeyChecking:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 17 /* strictHostKeyChecking */
        start local 17 // java.lang.String strictHostKeyChecking
        25: .line 113
            aload 17 /* strictHostKeyChecking */
            ifnull 27
        26: .line 114
            aload 16 /* config */
            ldc "StrictHostKeyChecking"
            aload 17 /* strictHostKeyChecking */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        27: .line 117
      StackMap locals: java.util.Properties java.lang.String
      StackMap stack:
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getPreferredAuthentications:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 18 /* preferredAuthentications */
        start local 18 // java.lang.String preferredAuthentications
        28: .line 118
            aload 18 /* preferredAuthentications */
            ifnull 30
        29: .line 119
            aload 16 /* config */
            ldc "PreferredAuthentications"
            aload 18 /* preferredAuthentications */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        30: .line 123
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getCompression:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 19 /* compression */
        start local 19 // java.lang.String compression
        31: .line 124
            aload 19 /* compression */
            ifnull 34
        32: .line 125
            aload 16 /* config */
            ldc "compression.s2c"
            aload 19 /* compression */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        33: .line 126
            aload 16 /* config */
            ldc "compression.c2s"
            aload 19 /* compression */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        34: .line 129
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getKeyExchangeAlgorithm:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 20 /* keyExchangeAlgorithm */
        start local 20 // java.lang.String keyExchangeAlgorithm
        35: .line 130
            aload 20 /* keyExchangeAlgorithm */
            ifnull 37
        36: .line 131
            aload 16 /* config */
            ldc "kex"
            aload 20 /* keyExchangeAlgorithm */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        37: .line 134
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyHost:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 21 /* proxyHost */
        start local 21 // java.lang.String proxyHost
        38: .line 135
            aload 21 /* proxyHost */
            ifnull 56
        39: .line 136
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyPort:(Lorg/apache/commons/vfs2/FileSystemOptions;)I
            istore 22 /* proxyPort */
        start local 22 // int proxyPort
        40: .line 137
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyType:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder$ProxyType;
            astore 23 /* proxyType */
        start local 23 // org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder$ProxyType proxyType
        41: .line 138
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyUser:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 24 /* proxyUser */
        start local 24 // java.lang.String proxyUser
        42: .line 139
            aload 7 /* builder */
            aload 4 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyPassword:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 25 /* proxyPassword */
        start local 25 // java.lang.String proxyPassword
        43: .line 140
            aconst_null
            astore 26 /* proxy */
        start local 26 // com.jcraft.jsch.Proxy proxy
        44: .line 141
            getstatic org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.PROXY_HTTP:Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder$ProxyType;
            aload 23 /* proxyType */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder$ProxyType.equals:(Ljava/lang/Object;)Z
            ifeq 48
        45: .line 142
            aload 21 /* proxyHost */
            iload 22 /* proxyPort */
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createProxyHTTP:(Ljava/lang/String;I)Lcom/jcraft/jsch/ProxyHTTP;
            astore 26 /* proxy */
        46: .line 143
            aload 26 /* proxy */
            checkcast com.jcraft.jsch.ProxyHTTP
            aload 24 /* proxyUser */
            aload 25 /* proxyPassword */
            invokevirtual com.jcraft.jsch.ProxyHTTP.setUserPasswd:(Ljava/lang/String;Ljava/lang/String;)V
        47: .line 144
            goto 54
      StackMap locals: java.lang.String int char[] char[] org.apache.commons.vfs2.FileSystemOptions com.jcraft.jsch.JSch java.io.File org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder java.io.File org.apache.commons.vfs2.provider.sftp.IdentityProvider[] org.apache.commons.vfs2.provider.sftp.IdentityRepositoryFactory com.jcraft.jsch.ConfigRepository int com.jcraft.jsch.Session java.lang.Integer com.jcraft.jsch.UserInfo java.util.Properties java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder$ProxyType java.lang.String java.lang.String com.jcraft.jsch.Proxy
      StackMap stack:
        48: getstatic org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.PROXY_SOCKS5:Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder$ProxyType;
            aload 23 /* proxyType */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder$ProxyType.equals:(Ljava/lang/Object;)Z
            ifeq 52
        49: .line 145
            aload 21 /* proxyHost */
            iload 22 /* proxyPort */
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createProxySOCKS5:(Ljava/lang/String;I)Lcom/jcraft/jsch/ProxySOCKS5;
            astore 26 /* proxy */
        50: .line 146
            aload 26 /* proxy */
            checkcast com.jcraft.jsch.ProxySOCKS5
            aload 24 /* proxyUser */
            aload 25 /* proxyPassword */
            invokevirtual com.jcraft.jsch.ProxySOCKS5.setUserPasswd:(Ljava/lang/String;Ljava/lang/String;)V
        51: .line 147
            goto 54
      StackMap locals:
      StackMap stack:
        52: getstatic org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.PROXY_STREAM:Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder$ProxyType;
            aload 23 /* proxyType */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder$ProxyType.equals:(Ljava/lang/Object;)Z
            ifeq 54
        53: .line 148
            aload 21 /* proxyHost */
            iload 22 /* proxyPort */
            aload 4 /* fileSystemOptions */
            aload 7 /* builder */
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.createStreamProxy:(Ljava/lang/String;ILorg/apache/commons/vfs2/FileSystemOptions;Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;)Lcom/jcraft/jsch/Proxy;
            astore 26 /* proxy */
        54: .line 151
      StackMap locals:
      StackMap stack:
            aload 26 /* proxy */
            ifnull 56
        55: .line 152
            aload 13 /* session */
            aload 26 /* proxy */
            invokevirtual com.jcraft.jsch.Session.setProxy:(Lcom/jcraft/jsch/Proxy;)V
        end local 26 // com.jcraft.jsch.Proxy proxy
        end local 25 // java.lang.String proxyPassword
        end local 24 // java.lang.String proxyUser
        end local 23 // org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder$ProxyType proxyType
        end local 22 // int proxyPort
        56: .line 157
      StackMap locals: java.lang.String int char[] char[] org.apache.commons.vfs2.FileSystemOptions com.jcraft.jsch.JSch java.io.File org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder java.io.File org.apache.commons.vfs2.provider.sftp.IdentityProvider[] org.apache.commons.vfs2.provider.sftp.IdentityRepositoryFactory com.jcraft.jsch.ConfigRepository int com.jcraft.jsch.Session java.lang.Integer com.jcraft.jsch.UserInfo java.util.Properties java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 16 /* config */
            invokevirtual java.util.Properties.size:()I
            ifle 58
        57: .line 158
            aload 13 /* session */
            aload 16 /* config */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/util/Properties;)V
        58: .line 160
      StackMap locals:
      StackMap stack:
            aload 13 /* session */
            iconst_1
            invokevirtual com.jcraft.jsch.Session.setDaemonThread:(Z)V
        59: .line 161
            aload 13 /* session */
            invokevirtual com.jcraft.jsch.Session.connect:()V
        end local 21 // java.lang.String proxyHost
        end local 20 // java.lang.String keyExchangeAlgorithm
        end local 19 // java.lang.String compression
        end local 18 // java.lang.String preferredAuthentications
        end local 17 // java.lang.String strictHostKeyChecking
        end local 16 // java.util.Properties config
        end local 15 // com.jcraft.jsch.UserInfo userInfo
        end local 14 // java.lang.Integer sessionTimeout
        60: .line 162
            goto 63
        end local 13 // com.jcraft.jsch.Session session
      StackMap locals: java.lang.String int char[] char[] org.apache.commons.vfs2.FileSystemOptions com.jcraft.jsch.JSch java.io.File org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder java.io.File org.apache.commons.vfs2.provider.sftp.IdentityProvider[] org.apache.commons.vfs2.provider.sftp.IdentityRepositoryFactory com.jcraft.jsch.ConfigRepository int
      StackMap stack: java.lang.Exception
        61: astore 14 /* exc */
        start local 14 // java.lang.Exception exc
        62: .line 163
            new org.apache.commons.vfs2.FileSystemException
            dup
            ldc "vfs.provider.sftp/connect.error"
            aload 14 /* exc */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* hostname */
            aastore
            invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/Object;)V
            athrow
        end local 14 // java.lang.Exception exc
        start local 13 // com.jcraft.jsch.Session session
        63: .line 166
      StackMap locals: com.jcraft.jsch.Session
      StackMap stack:
            aload 13 /* session */
            areturn
        end local 13 // com.jcraft.jsch.Session session
        end local 12 // boolean loadOpenSSHConfig
        end local 11 // com.jcraft.jsch.ConfigRepository configRepository
        end local 10 // org.apache.commons.vfs2.provider.sftp.IdentityRepositoryFactory repositoryFactory
        end local 9 // org.apache.commons.vfs2.provider.sftp.IdentityProvider[] identities
        end local 8 // java.io.File knownHostsFile
        end local 7 // org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder builder
        end local 6 // java.io.File sshDir
        end local 5 // com.jcraft.jsch.JSch jsch
        end local 4 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
        end local 3 // char[] password
        end local 2 // char[] username
        end local 1 // int port
        end local 0 // java.lang.String hostname
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   64     0                  hostname  Ljava/lang/String;
            0   64     1                      port  I
            0   64     2                  username  [C
            0   64     3                  password  [C
            0   64     4         fileSystemOptions  Lorg/apache/commons/vfs2/FileSystemOptions;
            1   64     5                      jsch  Lcom/jcraft/jsch/JSch;
            2   64     6                    sshDir  Ljava/io/File;
            3   64     7                   builder  Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;
            4   64     8            knownHostsFile  Ljava/io/File;
            5   64     9                identities  [Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;
            6   64    10         repositoryFactory  Lorg/apache/commons/vfs2/provider/sftp/IdentityRepositoryFactory;
            7   64    11          configRepository  Lcom/jcraft/jsch/ConfigRepository;
            8   64    12         loadOpenSSHConfig  Z
           15   61    13                   session  Lcom/jcraft/jsch/Session;
           63   64    13                   session  Lcom/jcraft/jsch/Session;
           18   60    14            sessionTimeout  Ljava/lang/Integer;
           21   60    15                  userInfo  Lcom/jcraft/jsch/UserInfo;
           24   60    16                    config  Ljava/util/Properties;
           25   60    17     strictHostKeyChecking  Ljava/lang/String;
           28   60    18  preferredAuthentications  Ljava/lang/String;
           31   60    19               compression  Ljava/lang/String;
           35   60    20      keyExchangeAlgorithm  Ljava/lang/String;
           38   60    21                 proxyHost  Ljava/lang/String;
           40   56    22                 proxyPort  I
           41   56    23                 proxyType  Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder$ProxyType;
           42   56    24                 proxyUser  Ljava/lang/String;
           43   56    25             proxyPassword  Ljava/lang/String;
           44   56    26                     proxy  Lcom/jcraft/jsch/Proxy;
           62   63    14                       exc  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          14    60      61  Class java.lang.Exception
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
                   Name  Flags
      hostname           final
      port               final
      username           final
      password           final
      fileSystemOptions  final

  private static void addIdentities(com.jcraft.jsch.JSch, java.io.File, org.apache.commons.vfs2.provider.sftp.IdentityProvider[]);
    descriptor: (Lcom/jcraft/jsch/JSch;Ljava/io/File;[Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // java.io.File sshDir
        start local 2 // org.apache.commons.vfs2.provider.sftp.IdentityProvider[] identities
         0: .line 171
            aload 2 /* identities */
            ifnull 7
         1: .line 172
            aload 2 /* identities */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: com.jcraft.jsch.JSch java.io.File org.apache.commons.vfs2.provider.sftp.IdentityProvider[] top int int org.apache.commons.vfs2.provider.sftp.IdentityProvider[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* info */
        start local 3 // org.apache.commons.vfs2.provider.sftp.IdentityProvider info
         3: .line 173
            aload 0 /* jsch */
            aload 3 /* info */
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.addIdentity:(Lcom/jcraft/jsch/JSch;Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;)V
        end local 3 // org.apache.commons.vfs2.provider.sftp.IdentityProvider info
         4: .line 172
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 175
            goto 10
         7: .line 177
      StackMap locals: com.jcraft.jsch.JSch java.io.File org.apache.commons.vfs2.provider.sftp.IdentityProvider[]
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* sshDir */
            ldc "id_rsa"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* privateKeyFile */
        start local 3 // java.io.File privateKeyFile
         8: .line 178
            aload 3 /* privateKeyFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 10
            aload 3 /* privateKeyFile */
            invokevirtual java.io.File.canRead:()Z
            ifeq 10
         9: .line 179
            aload 0 /* jsch */
            new org.apache.commons.vfs2.provider.sftp.IdentityInfo
            dup
            aload 3 /* privateKeyFile */
            invokespecial org.apache.commons.vfs2.provider.sftp.IdentityInfo.<init>:(Ljava/io/File;)V
            invokestatic org.apache.commons.vfs2.provider.sftp.SftpClientFactory.addIdentity:(Lcom/jcraft/jsch/JSch;Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;)V
        end local 3 // java.io.File privateKeyFile
        10: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.commons.vfs2.provider.sftp.IdentityProvider[] identities
        end local 1 // java.io.File sshDir
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            jsch  Lcom/jcraft/jsch/JSch;
            0   11     1          sshDir  Ljava/io/File;
            0   11     2      identities  [Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;
            3    4     3            info  Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;
            8   10     3  privateKeyFile  Ljava/io/File;
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
            Name  Flags
      jsch        final
      sshDir      final
      identities  final

  private static void setConfigRepository(com.jcraft.jsch.JSch, java.io.File, com.jcraft.jsch.ConfigRepository, boolean);
    descriptor: (Lcom/jcraft/jsch/JSch;Ljava/io/File;Lcom/jcraft/jsch/ConfigRepository;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // java.io.File sshDir
        start local 2 // com.jcraft.jsch.ConfigRepository configRepository
        start local 3 // boolean loadOpenSSHConfig
         0: .line 185
            aload 2 /* configRepository */
            ifnull 3
         1: .line 186
            aload 0 /* jsch */
            aload 2 /* configRepository */
            invokevirtual com.jcraft.jsch.JSch.setConfigRepository:(Lcom/jcraft/jsch/ConfigRepository;)V
         2: .line 187
            goto 9
      StackMap locals:
      StackMap stack:
         3: iload 3 /* loadOpenSSHConfig */
            ifeq 9
         4: .line 190
            new java.io.File
            dup
            aload 1 /* sshDir */
            ldc "config"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.OpenSSHConfig.parseFile:(Ljava/lang/String;)Lcom/jcraft/jsch/OpenSSHConfig;
            astore 4 /* openSSHConfig */
        start local 4 // com.jcraft.jsch.ConfigRepository openSSHConfig
         5: .line 191
            aload 0 /* jsch */
            aload 4 /* openSSHConfig */
            invokevirtual com.jcraft.jsch.JSch.setConfigRepository:(Lcom/jcraft/jsch/ConfigRepository;)V
        end local 4 // com.jcraft.jsch.ConfigRepository openSSHConfig
         6: .line 192
            goto 9
      StackMap locals:
      StackMap stack: java.io.IOException
         7: astore 4 /* e */
        start local 4 // java.io.IOException e
         8: .line 193
            new org.apache.commons.vfs2.FileSystemException
            dup
            ldc "vfs.provider.sftp/load-openssh-config.error"
            aload 4 /* e */
            invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException e
         9: .line 196
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean loadOpenSSHConfig
        end local 2 // com.jcraft.jsch.ConfigRepository configRepository
        end local 1 // java.io.File sshDir
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   10     0               jsch  Lcom/jcraft/jsch/JSch;
            0   10     1             sshDir  Ljava/io/File;
            0   10     2   configRepository  Lcom/jcraft/jsch/ConfigRepository;
            0   10     3  loadOpenSSHConfig  Z
            5    6     4      openSSHConfig  Lcom/jcraft/jsch/ConfigRepository;
            8    9     4                  e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           4     6       7  Class java.io.IOException
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
                   Name  Flags
      jsch               final
      sshDir             final
      configRepository   final
      loadOpenSSHConfig  final

  private static void addIdentity(com.jcraft.jsch.JSch, org.apache.commons.vfs2.provider.sftp.IdentityProvider);
    descriptor: (Lcom/jcraft/jsch/JSch;Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // org.apache.commons.vfs2.provider.sftp.IdentityProvider identity
         0: .line 200
            aload 1 /* identity */
            aload 0 /* jsch */
            invokeinterface org.apache.commons.vfs2.provider.sftp.IdentityProvider.addIdentity:(Lcom/jcraft/jsch/JSch;)V
         1: .line 201
            goto 4
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchException
         2: astore 2 /* e */
        start local 2 // com.jcraft.jsch.JSchException e
         3: .line 202
            new org.apache.commons.vfs2.FileSystemException
            dup
            ldc "vfs.provider.sftp/load-private-key.error"
            aload 1 /* identity */
            aload 2 /* e */
            invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
            athrow
        end local 2 // com.jcraft.jsch.JSchException e
         4: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.vfs2.provider.sftp.IdentityProvider identity
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      jsch  Lcom/jcraft/jsch/JSch;
            0    5     1  identity  Lorg/apache/commons/vfs2/provider/sftp/IdentityProvider;
            3    4     2         e  Lcom/jcraft/jsch/JSchException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.jcraft.jsch.JSchException
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
          Name  Flags
      jsch      final
      identity  final

  private static void setKnownHosts(com.jcraft.jsch.JSch, java.io.File, java.io.File);
    descriptor: (Lcom/jcraft/jsch/JSch;Ljava/io/File;Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // java.io.File sshDir
        start local 2 // java.io.File knownHostsFile
         0: .line 209
            aload 2 /* knownHostsFile */
            ifnull 3
         1: .line 210
            aload 0 /* jsch */
            aload 2 /* knownHostsFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual com.jcraft.jsch.JSch.setKnownHosts:(Ljava/lang/String;)V
         2: .line 211
            goto 9
         3: .line 213
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* sshDir */
            ldc "known_hosts"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 2 /* knownHostsFile */
         4: .line 214
            aload 2 /* knownHostsFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 9
            aload 2 /* knownHostsFile */
            invokevirtual java.io.File.canRead:()Z
            ifeq 9
         5: .line 215
            aload 0 /* jsch */
            aload 2 /* knownHostsFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual com.jcraft.jsch.JSch.setKnownHosts:(Ljava/lang/String;)V
         6: .line 218
            goto 9
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchException
         7: astore 3 /* e */
        start local 3 // com.jcraft.jsch.JSchException e
         8: .line 219
            new org.apache.commons.vfs2.FileSystemException
            dup
            ldc "vfs.provider.sftp/known-hosts.error"
            aload 2 /* knownHostsFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial org.apache.commons.vfs2.FileSystemException.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Throwable;)V
            athrow
        end local 3 // com.jcraft.jsch.JSchException e
         9: .line 222
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.File knownHostsFile
        end local 1 // java.io.File sshDir
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            jsch  Lcom/jcraft/jsch/JSch;
            0   10     1          sshDir  Ljava/io/File;
            0   10     2  knownHostsFile  Ljava/io/File;
            8    9     3               e  Lcom/jcraft/jsch/JSchException;
      Exception table:
        from    to  target  type
           0     6       7  Class com.jcraft.jsch.JSchException
    Exceptions:
      throws org.apache.commons.vfs2.FileSystemException
    MethodParameters:
                Name  Flags
      jsch            final
      sshDir          final
      knownHostsFile  

  private static com.jcraft.jsch.Proxy createStreamProxy(java.lang.String, int, org.apache.commons.vfs2.FileSystemOptions, org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder);
    descriptor: (Ljava/lang/String;ILorg/apache/commons/vfs2/FileSystemOptions;Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;)Lcom/jcraft/jsch/Proxy;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // java.lang.String proxyHost
        start local 1 // int proxyPort
        start local 2 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
        start local 3 // org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder builder
         0: .line 233
            aload 3 /* builder */
            aload 2 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyUser:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 5 /* proxyUser */
        start local 5 // java.lang.String proxyUser
         1: .line 234
            aload 3 /* builder */
            aload 2 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyPassword:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 6 /* proxyPassword */
        start local 6 // java.lang.String proxyPassword
         2: .line 235
            aload 3 /* builder */
            aload 2 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyOptions:(Lorg/apache/commons/vfs2/FileSystemOptions;)Lorg/apache/commons/vfs2/FileSystemOptions;
            astore 7 /* proxyOptions */
        start local 7 // org.apache.commons.vfs2.FileSystemOptions proxyOptions
         3: .line 237
            aload 3 /* builder */
            aload 2 /* fileSystemOptions */
            invokevirtual org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder.getProxyCommand:(Lorg/apache/commons/vfs2/FileSystemOptions;)Ljava/lang/String;
            astore 8 /* proxyCommand */
        start local 8 // java.lang.String proxyCommand
         4: .line 240
            new org.apache.commons.vfs2.provider.sftp.SftpStreamProxy
            dup
            aload 8 /* proxyCommand */
            aload 5 /* proxyUser */
            aload 0 /* proxyHost */
            iload 1 /* proxyPort */
            aload 6 /* proxyPassword */
            aload 7 /* proxyOptions */
            invokespecial org.apache.commons.vfs2.provider.sftp.SftpStreamProxy.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Lorg/apache/commons/vfs2/FileSystemOptions;)V
            astore 4 /* proxy */
        start local 4 // com.jcraft.jsch.Proxy proxy
         5: .line 241
            aload 4 /* proxy */
            areturn
        end local 8 // java.lang.String proxyCommand
        end local 7 // org.apache.commons.vfs2.FileSystemOptions proxyOptions
        end local 6 // java.lang.String proxyPassword
        end local 5 // java.lang.String proxyUser
        end local 4 // com.jcraft.jsch.Proxy proxy
        end local 3 // org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder builder
        end local 2 // org.apache.commons.vfs2.FileSystemOptions fileSystemOptions
        end local 1 // int proxyPort
        end local 0 // java.lang.String proxyHost
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0          proxyHost  Ljava/lang/String;
            0    6     1          proxyPort  I
            0    6     2  fileSystemOptions  Lorg/apache/commons/vfs2/FileSystemOptions;
            0    6     3            builder  Lorg/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder;
            5    6     4              proxy  Lcom/jcraft/jsch/Proxy;
            1    6     5          proxyUser  Ljava/lang/String;
            2    6     6      proxyPassword  Ljava/lang/String;
            3    6     7       proxyOptions  Lorg/apache/commons/vfs2/FileSystemOptions;
            4    6     8       proxyCommand  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      proxyHost          final
      proxyPort          final
      fileSystemOptions  final
      builder            final

  private static com.jcraft.jsch.ProxySOCKS5 createProxySOCKS5(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/jcraft/jsch/ProxySOCKS5;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String proxyHost
        start local 1 // int proxyPort
         0: .line 245
            iload 1 /* proxyPort */
            ifne 1
            new com.jcraft.jsch.ProxySOCKS5
            dup
            aload 0 /* proxyHost */
            invokespecial com.jcraft.jsch.ProxySOCKS5.<init>:(Ljava/lang/String;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new com.jcraft.jsch.ProxySOCKS5
            dup
            aload 0 /* proxyHost */
            iload 1 /* proxyPort */
            invokespecial com.jcraft.jsch.ProxySOCKS5.<init>:(Ljava/lang/String;I)V
      StackMap locals:
      StackMap stack: com.jcraft.jsch.ProxySOCKS5
         2: areturn
        end local 1 // int proxyPort
        end local 0 // java.lang.String proxyHost
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  proxyHost  Ljava/lang/String;
            0    3     1  proxyPort  I
    MethodParameters:
           Name  Flags
      proxyHost  final
      proxyPort  final

  private static com.jcraft.jsch.ProxyHTTP createProxyHTTP(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/jcraft/jsch/ProxyHTTP;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String proxyHost
        start local 1 // int proxyPort
         0: .line 249
            iload 1 /* proxyPort */
            ifne 1
            new com.jcraft.jsch.ProxyHTTP
            dup
            aload 0 /* proxyHost */
            invokespecial com.jcraft.jsch.ProxyHTTP.<init>:(Ljava/lang/String;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new com.jcraft.jsch.ProxyHTTP
            dup
            aload 0 /* proxyHost */
            iload 1 /* proxyPort */
            invokespecial com.jcraft.jsch.ProxyHTTP.<init>:(Ljava/lang/String;I)V
      StackMap locals:
      StackMap stack: com.jcraft.jsch.ProxyHTTP
         2: areturn
        end local 1 // int proxyPort
        end local 0 // java.lang.String proxyHost
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  proxyHost  Ljava/lang/String;
            0    3     1  proxyPort  I
    MethodParameters:
           Name  Flags
      proxyHost  final
      proxyPort  final

  private static java.io.File findSshDir();
    descriptor: ()Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 274
            ldc "vfs.sftp.sshdir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* sshDirPath */
        start local 0 // java.lang.String sshDirPath
         1: .line 275
            aload 0 /* sshDirPath */
            ifnull 5
         2: .line 276
            new java.io.File
            dup
            aload 0 /* sshDirPath */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* sshDir */
        start local 1 // java.io.File sshDir
         3: .line 277
            aload 1 /* sshDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 5
         4: .line 278
            aload 1 /* sshDir */
            areturn
        end local 1 // java.io.File sshDir
         5: .line 282
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.File
            dup
            ldc "user.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ldc ".ssh"
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* sshDir */
        start local 1 // java.io.File sshDir
         6: .line 283
            aload 1 /* sshDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 8
         7: .line 284
            aload 1 /* sshDir */
            areturn
         8: .line 287
      StackMap locals: java.io.File
      StackMap stack:
            getstatic org.apache.commons.vfs2.util.Os.OS_FAMILY_WINDOWS:Lorg/apache/commons/vfs2/util/OsFamily;
            invokestatic org.apache.commons.vfs2.util.Os.isFamily:(Lorg/apache/commons/vfs2/util/OsFamily;)Z
            ifeq 13
         9: .line 289
            ldc "user.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* userName */
        start local 2 // java.lang.String userName
        10: .line 290
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            ldc "C:\\cygwin\\home\\"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* userName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\\"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".ssh"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* sshDir */
        11: .line 291
            aload 1 /* sshDir */
            invokevirtual java.io.File.exists:()Z
            ifeq 13
        12: .line 292
            aload 1 /* sshDir */
            areturn
        end local 2 // java.lang.String userName
        13: .line 295
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            ldc ""
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            areturn
        end local 1 // java.io.File sshDir
        end local 0 // java.lang.String sshDirPath
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   14     0  sshDirPath  Ljava/lang/String;
            3    5     1      sshDir  Ljava/io/File;
            6   14     1      sshDir  Ljava/io/File;
           10   13     2    userName  Ljava/lang/String;
}
SourceFile: "SftpClientFactory.java"
NestMembers:
  org.apache.commons.vfs2.provider.sftp.SftpClientFactory$JSchLogger
InnerClasses:
  private JSchLogger = org.apache.commons.vfs2.provider.sftp.SftpClientFactory$JSchLogger of org.apache.commons.vfs2.provider.sftp.SftpClientFactory
  public final ProxyType = org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder$ProxyType of org.apache.commons.vfs2.provider.sftp.SftpFileSystemConfigBuilder