public final class com.sun.jndi.ldap.LdapPoolManager
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.jndi.ldap.LdapPoolManager
  super_class: java.lang.Object
{
  private static final java.lang.String DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.connect.pool.debug"

  public static final boolean debug;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean trace;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.lang.String POOL_AUTH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.connect.pool.authentication"

  private static final java.lang.String POOL_PROTOCOL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.connect.pool.protocol"

  private static final java.lang.String MAX_POOL_SIZE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.connect.pool.maxsize"

  private static final java.lang.String PREF_POOL_SIZE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.connect.pool.prefsize"

  private static final java.lang.String INIT_POOL_SIZE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.connect.pool.initsize"

  private static final java.lang.String POOL_TIMEOUT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "com.sun.jndi.ldap.connect.pool.timeout"

  private static final java.lang.String SASL_CALLBACK;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.naming.security.sasl.callback"

  private static final int DEFAULT_MAX_POOL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int DEFAULT_PREF_POOL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int DEFAULT_INIT_POOL_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DEFAULT_TIMEOUT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

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

  private static final int NONE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int SIMPLE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DIGEST;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final long idleTimeout;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int maxSize;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int prefSize;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int initSize;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static boolean supportPlainProtocol;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean supportSslProtocol;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final com.sun.jndi.ldap.pool.Pool[] pools;
    descriptor: [Lcom/sun/jndi/ldap/pool/Pool;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=7, args_size=0
         0: .line 58
            ldc Lcom/sun/jndi/ldap/LdapPoolManager;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.sun.jndi.ldap.LdapPoolManager.$assertionsDisabled:Z
         3: .line 63
            ldc "all"
            ldc "com.sun.jndi.ldap.connect.pool.debug"
            aconst_null
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
         4: .line 62
            putstatic com.sun.jndi.ldap.LdapPoolManager.debug:Z
         5: .line 65
            getstatic com.sun.jndi.ldap.LdapPoolManager.debug:Z
            ifne 8
         6: .line 66
            ldc "fine"
            ldc "com.sun.jndi.ldap.connect.pool.debug"
            aconst_null
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 8
         7: .line 65
            iconst_0
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: putstatic com.sun.jndi.ldap.LdapPoolManager.trace:Z
        10: .line 116
            iconst_0
            putstatic com.sun.jndi.ldap.LdapPoolManager.supportPlainProtocol:Z
        11: .line 117
            iconst_0
            putstatic com.sun.jndi.ldap.LdapPoolManager.supportSslProtocol:Z
        12: .line 120
            iconst_3
            anewarray com.sun.jndi.ldap.pool.Pool
            putstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
        13: .line 123
            ldc "com.sun.jndi.ldap.connect.pool.maxsize"
            iconst_0
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getInteger:(Ljava/lang/String;I)I
            putstatic com.sun.jndi.ldap.LdapPoolManager.maxSize:I
        14: .line 125
            ldc "com.sun.jndi.ldap.connect.pool.prefsize"
            iconst_0
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getInteger:(Ljava/lang/String;I)I
            putstatic com.sun.jndi.ldap.LdapPoolManager.prefSize:I
        15: .line 127
            ldc "com.sun.jndi.ldap.connect.pool.initsize"
            iconst_1
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getInteger:(Ljava/lang/String;I)I
            putstatic com.sun.jndi.ldap.LdapPoolManager.initSize:I
        16: .line 129
            ldc "com.sun.jndi.ldap.connect.pool.timeout"
            lconst_0
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getLong:(Ljava/lang/String;J)J
            putstatic com.sun.jndi.ldap.LdapPoolManager.idleTimeout:J
        17: .line 132
            ldc "com.sun.jndi.ldap.connect.pool.authentication"
            ldc "none simple"
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* str */
        start local 0 // java.lang.String str
        18: .line 133
            new java.util.StringTokenizer
            dup
            aload 0 /* str */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 1 /* parser */
        start local 1 // java.util.StringTokenizer parser
        19: .line 134
            aload 1 /* parser */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 2 /* count */
        start local 2 // int count
        20: .line 137
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        21: goto 29
        22: .line 138
      StackMap locals: java.lang.String java.util.StringTokenizer int top top int
      StackMap stack:
            aload 1 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 3 /* mech */
        start local 3 // java.lang.String mech
        23: .line 139
            aload 3 /* mech */
            ldc "anonymous"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 140
            ldc "none"
            astore 3 /* mech */
        25: .line 143
      StackMap locals: java.lang.String java.util.StringTokenizer int java.lang.String top int
      StackMap stack:
            aload 3 /* mech */
            invokestatic com.sun.jndi.ldap.LdapPoolManager.findPool:(Ljava/lang/String;)I
            istore 4 /* p */
        start local 4 // int p
        26: .line 144
            iload 4 /* p */
            iflt 28
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 4 /* p */
            aaload
            ifnonnull 28
        27: .line 145
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 4 /* p */
            new com.sun.jndi.ldap.pool.Pool
            dup
            getstatic com.sun.jndi.ldap.LdapPoolManager.initSize:I
            getstatic com.sun.jndi.ldap.LdapPoolManager.prefSize:I
            getstatic com.sun.jndi.ldap.LdapPoolManager.maxSize:I
            invokespecial com.sun.jndi.ldap.pool.Pool.<init>:(III)V
            aastore
        28: .line 137
      StackMap locals: java.lang.String java.util.StringTokenizer int java.lang.String int int
      StackMap stack:
            iinc 5 /* i */ 1
        end local 4 // int p
        end local 3 // java.lang.String mech
      StackMap locals: java.lang.String java.util.StringTokenizer int top top int
      StackMap stack:
        29: iload 5 /* i */
            iload 2 /* count */
            if_icmplt 22
        end local 5 // int i
        30: .line 150
            ldc "com.sun.jndi.ldap.connect.pool.protocol"
            ldc "plain"
            invokestatic com.sun.jndi.ldap.LdapPoolManager.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* str */
        31: .line 151
            new java.util.StringTokenizer
            dup
            aload 0 /* str */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 1 /* parser */
        32: .line 152
            aload 1 /* parser */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 2 /* count */
        33: .line 154
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        34: goto 42
        35: .line 155
      StackMap locals: java.lang.String java.util.StringTokenizer int top top top int
      StackMap stack:
            aload 1 /* parser */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 5 /* proto */
        start local 5 // java.lang.String proto
        36: .line 156
            ldc "plain"
            aload 5 /* proto */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 39
        37: .line 157
            iconst_1
            putstatic com.sun.jndi.ldap.LdapPoolManager.supportPlainProtocol:Z
        38: .line 158
            goto 41
      StackMap locals: java.lang.String java.util.StringTokenizer int top top java.lang.String int
      StackMap stack:
        39: ldc "ssl"
            aload 5 /* proto */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        40: .line 159
            iconst_1
            putstatic com.sun.jndi.ldap.LdapPoolManager.supportSslProtocol:Z
        41: .line 154
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        end local 5 // java.lang.String proto
      StackMap locals: java.lang.String java.util.StringTokenizer int top top top int
      StackMap stack:
        42: iload 6 /* i */
            iload 2 /* count */
            if_icmplt 35
        end local 6 // int i
        43: .line 165
            getstatic com.sun.jndi.ldap.LdapPoolManager.idleTimeout:J
            lconst_0
            lcmp
            ifle 46
        44: .line 167
            new com.sun.jndi.ldap.LdapPoolManager$1
            dup
            invokespecial com.sun.jndi.ldap.LdapPoolManager$1.<init>:()V
            astore 6 /* pa */
        start local 6 // java.security.PrivilegedAction pa
        45: .line 177
            aload 6 /* pa */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 6 // java.security.PrivilegedAction pa
        46: .line 180
      StackMap locals: java.lang.String java.util.StringTokenizer int
      StackMap stack:
            getstatic com.sun.jndi.ldap.LdapPoolManager.debug:Z
            ifeq 48
        47: .line 181
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic com.sun.jndi.ldap.LdapPoolManager.showStats:(Ljava/io/PrintStream;)V
        end local 2 // int count
        end local 1 // java.util.StringTokenizer parser
        end local 0 // java.lang.String str
        48: .line 183
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot    Name  Signature
           18   48     0     str  Ljava/lang/String;
           19   48     1  parser  Ljava/util/StringTokenizer;
           20   48     2   count  I
           23   29     3    mech  Ljava/lang/String;
           26   29     4       p  I
           21   30     5       i  I
           36   42     5   proto  Ljava/lang/String;
           34   43     6       i  I
           45   46     6      pa  Ljava/security/PrivilegedAction<Ljava/lang/Void;>;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.LdapPoolManager this
         0: .line 186
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 187
            return
        end local 0 // com.sun.jndi.ldap.LdapPoolManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/jndi/ldap/LdapPoolManager;

  private static int findPool(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String mech
         0: .line 196
            ldc "none"
            aload 0 /* mech */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 197
            iconst_0
            ireturn
         2: .line 198
      StackMap locals:
      StackMap stack:
            ldc "simple"
            aload 0 /* mech */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 199
            iconst_1
            ireturn
         4: .line 200
      StackMap locals:
      StackMap stack:
            ldc "digest-md5"
            aload 0 /* mech */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 201
            iconst_2
            ireturn
         6: .line 203
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // java.lang.String mech
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  mech  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      mech  

  static boolean isPoolingAllowed(java.lang.String, java.io.OutputStream, java.lang.String, java.lang.String, java.util.Hashtable<?, ?>);
    descriptor: (Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/util/Hashtable;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=10, args_size=5
        start local 0 // java.lang.String socketFactory
        start local 1 // java.io.OutputStream trace
        start local 2 // java.lang.String authMech
        start local 3 // java.lang.String protocol
        start local 4 // java.util.Hashtable env
         0: .line 232
            aload 1 /* trace */
            ifnull 1
            getstatic com.sun.jndi.ldap.LdapPoolManager.debug:Z
            ifeq 3
         1: .line 235
      StackMap locals:
      StackMap stack:
            aload 3 /* protocol */
            ifnonnull 2
            getstatic com.sun.jndi.ldap.LdapPoolManager.supportPlainProtocol:Z
            ifeq 3
         2: .line 238
      StackMap locals:
      StackMap stack:
            ldc "ssl"
            aload 3 /* protocol */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
            getstatic com.sun.jndi.ldap.LdapPoolManager.supportSslProtocol:Z
            ifne 5
         3: .line 240
      StackMap locals:
      StackMap stack:
            ldc "Pooling disallowed due to tracing or unsupported pooling of protocol"
            invokestatic com.sun.jndi.ldap.LdapPoolManager.d:(Ljava/lang/String;)V
         4: .line 241
            iconst_0
            ireturn
         5: .line 245
      StackMap locals:
      StackMap stack:
            ldc "java.util.Comparator"
            astore 5 /* COMPARATOR */
        start local 5 // java.lang.String COMPARATOR
         6: .line 246
            iconst_0
            istore 6 /* foundSockCmp */
        start local 6 // boolean foundSockCmp
         7: .line 247
            aload 0 /* socketFactory */
            ifnull 25
         8: .line 248
            aload 0 /* socketFactory */
            ldc "javax.net.ssl.SSLSocketFactory"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
         9: .line 250
            getstatic com.sun.jndi.ldap.Obj.helper:Lcom/sun/jndi/ldap/VersionHelper;
            aload 0 /* socketFactory */
            invokevirtual com.sun.jndi.ldap.VersionHelper.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* socketFactoryClass */
        start local 7 // java.lang.Class socketFactoryClass
        10: .line 251
            aload 7 /* socketFactoryClass */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            astore 8 /* interfaces */
        start local 8 // java.lang.Class[] interfaces
        11: .line 252
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        12: goto 16
        13: .line 253
      StackMap locals: java.lang.String java.io.OutputStream java.lang.String java.lang.String java.util.Hashtable java.lang.String int java.lang.Class java.lang.Class[] int
      StackMap stack:
            aload 8 /* interfaces */
            iload 9 /* i */
            aaload
            invokevirtual java.lang.Class.getCanonicalName:()Ljava/lang/String;
            aload 5 /* COMPARATOR */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 254
            iconst_1
            istore 6 /* foundSockCmp */
        15: .line 252
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 9 /* i */
            aload 8 /* interfaces */
            arraylength
            if_icmplt 13
        end local 9 // int i
        end local 8 // java.lang.Class[] interfaces
        end local 7 // java.lang.Class socketFactoryClass
        17: .line 257
            goto 23
      StackMap locals: java.lang.String java.io.OutputStream java.lang.String java.lang.String java.util.Hashtable java.lang.String int
      StackMap stack: java.lang.Exception
        18: astore 7 /* e */
        start local 7 // java.lang.Exception e
        19: .line 259
            new javax.naming.CommunicationException
            dup
            ldc "Loading the socket factory"
            invokespecial javax.naming.CommunicationException.<init>:(Ljava/lang/String;)V
        20: .line 258
            astore 8 /* ce */
        start local 8 // javax.naming.CommunicationException ce
        21: .line 260
            aload 8 /* ce */
            aload 7 /* e */
            invokevirtual javax.naming.CommunicationException.setRootCause:(Ljava/lang/Throwable;)V
        22: .line 261
            aload 8 /* ce */
            athrow
        end local 8 // javax.naming.CommunicationException ce
        end local 7 // java.lang.Exception e
        23: .line 263
      StackMap locals:
      StackMap stack:
            iload 6 /* foundSockCmp */
            ifne 25
        24: .line 264
            iconst_0
            ireturn
        25: .line 269
      StackMap locals:
      StackMap stack:
            aload 2 /* authMech */
            invokestatic com.sun.jndi.ldap.LdapPoolManager.findPool:(Ljava/lang/String;)I
            istore 7 /* p */
        start local 7 // int p
        26: .line 270
            iload 7 /* p */
            iflt 27
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 7 /* p */
            aaload
            ifnonnull 29
        27: .line 271
      StackMap locals: int
      StackMap stack:
            ldc "authmech not found: "
            aload 2 /* authMech */
            invokestatic com.sun.jndi.ldap.LdapPoolManager.d:(Ljava/lang/String;Ljava/lang/String;)V
        28: .line 273
            iconst_0
            ireturn
        29: .line 276
      StackMap locals:
      StackMap stack:
            ldc "using authmech: "
            aload 2 /* authMech */
            invokestatic com.sun.jndi.ldap.LdapPoolManager.d:(Ljava/lang/String;Ljava/lang/String;)V
        30: .line 278
            iload 7 /* p */
            tableswitch { // 0 - 2
                    0: 31
                    1: 31
                    2: 32
              default: 34
          }
        31: .line 281
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        32: .line 286
      StackMap locals:
      StackMap stack:
            aload 4 /* env */
            ifnull 33
            aload 4 /* env */
            ldc "java.naming.security.sasl.callback"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 33
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
        33: iconst_1
            ireturn
        34: .line 288
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // int p
        end local 6 // boolean foundSockCmp
        end local 5 // java.lang.String COMPARATOR
        end local 4 // java.util.Hashtable env
        end local 3 // java.lang.String protocol
        end local 2 // java.lang.String authMech
        end local 1 // java.io.OutputStream trace
        end local 0 // java.lang.String socketFactory
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   35     0       socketFactory  Ljava/lang/String;
            0   35     1               trace  Ljava/io/OutputStream;
            0   35     2            authMech  Ljava/lang/String;
            0   35     3            protocol  Ljava/lang/String;
            0   35     4                 env  Ljava/util/Hashtable<**>;
            6   35     5          COMPARATOR  Ljava/lang/String;
            7   35     6        foundSockCmp  Z
           10   17     7  socketFactoryClass  Ljava/lang/Class<*>;
           11   17     8          interfaces  [Ljava/lang/Class;
           12   17     9                   i  I
           19   23     7                   e  Ljava/lang/Exception;
           21   23     8                  ce  Ljavax/naming/CommunicationException;
           26   35     7                   p  I
      Exception table:
        from    to  target  type
           9    17      18  Class java.lang.Exception
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/util/Hashtable<**>;)Z
    MethodParameters:
               Name  Flags
      socketFactory  
      trace          
      authMech       
      protocol       
      env            

  static com.sun.jndi.ldap.LdapClient getLdapClient(java.lang.String, int, java.lang.String, int, int, java.io.OutputStream, int, java.lang.String, javax.naming.ldap.Control[], java.lang.String, java.lang.String, , java.util.Hashtable<?, ?>);
    descriptor: (Ljava/lang/String;ILjava/lang/String;IILjava/io/OutputStream;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Hashtable;)Lcom/sun/jndi/ldap/LdapClient;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=12, locals=16, args_size=13
        start local 0 // java.lang.String host
        start local 1 // int port
        start local 2 // java.lang.String socketFactory
        start local 3 // int connTimeout
        start local 4 // int readTimeout
        start local 5 // java.io.OutputStream trace
        start local 6 // int version
        start local 7 // java.lang.String authMech
        start local 8 // javax.naming.ldap.Control[] ctls
        start local 9 // java.lang.String protocol
        start local 10 // java.lang.String user
        start local 11 // java.lang.Object passwd
        start local 12 // java.util.Hashtable env
         0: .line 312
            aconst_null
            astore 13 /* id */
        start local 13 // com.sun.jndi.ldap.ClientId id
         1: .line 315
            aload 7 /* authMech */
            invokestatic com.sun.jndi.ldap.LdapPoolManager.findPool:(Ljava/lang/String;)I
            istore 15 /* p */
        start local 15 // int p
         2: .line 316
            iload 15 /* p */
            iflt 4
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 15 /* p */
            aaload
            dup
            astore 14 /* pool */
        start local 14 // com.sun.jndi.ldap.pool.Pool pool
         3: ifnonnull 9
        end local 14 // com.sun.jndi.ldap.pool.Pool pool
         4: .line 317
      StackMap locals: java.lang.String int java.lang.String int int java.io.OutputStream int java.lang.String javax.naming.ldap.Control[] java.lang.String java.lang.String java.lang.Object java.util.Hashtable com.sun.jndi.ldap.ClientId top int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
         5: .line 318
            new java.lang.StringBuilder
            dup
            ldc "Attempting to use pooling for an unsupported mechanism: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 319
            aload 7 /* authMech */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 318
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 317
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 14 // com.sun.jndi.ldap.pool.Pool pool
         9: .line 321
      StackMap locals: java.lang.String int java.lang.String int int java.io.OutputStream int java.lang.String javax.naming.ldap.Control[] java.lang.String java.lang.String java.lang.Object java.util.Hashtable com.sun.jndi.ldap.ClientId com.sun.jndi.ldap.pool.Pool int
      StackMap stack:
            iload 15 /* p */
            tableswitch { // 0 - 2
                    0: 10
                    1: 14
                    2: 18
              default: 21
          }
        10: .line 323
      StackMap locals:
      StackMap stack:
            new com.sun.jndi.ldap.ClientId
            dup
            iload 6 /* version */
            aload 0 /* host */
            iload 1 /* port */
            aload 9 /* protocol */
        11: .line 324
            aload 8 /* ctls */
            aload 5 /* trace */
            aload 2 /* socketFactory */
        12: .line 323
            invokespecial com.sun.jndi.ldap.ClientId.<init>:(ILjava/lang/String;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/io/OutputStream;Ljava/lang/String;)V
            astore 13 /* id */
        13: .line 325
            goto 21
        14: .line 329
      StackMap locals:
      StackMap stack:
            new com.sun.jndi.ldap.SimpleClientId
            dup
            iload 6 /* version */
            aload 0 /* host */
            iload 1 /* port */
            aload 9 /* protocol */
        15: .line 330
            aload 8 /* ctls */
            aload 5 /* trace */
            aload 2 /* socketFactory */
            aload 10 /* user */
            aload 11 /* passwd */
        16: .line 329
            invokespecial com.sun.jndi.ldap.SimpleClientId.<init>:(ILjava/lang/String;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
            astore 13 /* id */
        17: .line 331
            goto 21
        18: .line 335
      StackMap locals:
      StackMap stack:
            new com.sun.jndi.ldap.DigestClientId
            dup
            iload 6 /* version */
            aload 0 /* host */
            iload 1 /* port */
            aload 9 /* protocol */
        19: .line 336
            aload 8 /* ctls */
            aload 5 /* trace */
            aload 2 /* socketFactory */
            aload 10 /* user */
            aload 11 /* passwd */
            aload 12 /* env */
        20: .line 335
            invokespecial com.sun.jndi.ldap.DigestClientId.<init>:(ILjava/lang/String;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Hashtable;)V
            astore 13 /* id */
        21: .line 340
      StackMap locals:
      StackMap stack:
            aload 14 /* pool */
            aload 13 /* id */
            iload 3 /* connTimeout */
            i2l
        22: .line 341
            new com.sun.jndi.ldap.LdapClientFactory
            dup
            aload 0 /* host */
            iload 1 /* port */
            aload 2 /* socketFactory */
            iload 3 /* connTimeout */
        23: .line 342
            iload 4 /* readTimeout */
            aload 5 /* trace */
        24: .line 341
            invokespecial com.sun.jndi.ldap.LdapClientFactory.<init>:(Ljava/lang/String;ILjava/lang/String;IILjava/io/OutputStream;)V
        25: .line 340
            invokevirtual com.sun.jndi.ldap.pool.Pool.getPooledConnection:(Ljava/lang/Object;JLcom/sun/jndi/ldap/pool/PooledConnectionFactory;)Lcom/sun/jndi/ldap/pool/PooledConnection;
            checkcast com.sun.jndi.ldap.LdapClient
            areturn
        end local 15 // int p
        end local 14 // com.sun.jndi.ldap.pool.Pool pool
        end local 13 // com.sun.jndi.ldap.ClientId id
        end local 12 // java.util.Hashtable env
        end local 11 // java.lang.Object passwd
        end local 10 // java.lang.String user
        end local 9 // java.lang.String protocol
        end local 8 // javax.naming.ldap.Control[] ctls
        end local 7 // java.lang.String authMech
        end local 6 // int version
        end local 5 // java.io.OutputStream trace
        end local 4 // int readTimeout
        end local 3 // int connTimeout
        end local 2 // java.lang.String socketFactory
        end local 1 // int port
        end local 0 // java.lang.String host
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           host  Ljava/lang/String;
            0   26     1           port  I
            0   26     2  socketFactory  Ljava/lang/String;
            0   26     3    connTimeout  I
            0   26     4    readTimeout  I
            0   26     5          trace  Ljava/io/OutputStream;
            0   26     6        version  I
            0   26     7       authMech  Ljava/lang/String;
            0   26     8           ctls  [Ljavax/naming/ldap/Control;
            0   26     9       protocol  Ljava/lang/String;
            0   26    10           user  Ljava/lang/String;
            0   26    11         passwd  Ljava/lang/Object;
            0   26    12            env  Ljava/util/Hashtable<**>;
            1   26    13             id  Lcom/sun/jndi/ldap/ClientId;
            3    4    14           pool  Lcom/sun/jndi/ldap/pool/Pool;
            9   26    14           pool  Lcom/sun/jndi/ldap/pool/Pool;
            2   26    15              p  I
    Exceptions:
      throws javax.naming.NamingException
    Signature: (Ljava/lang/String;ILjava/lang/String;IILjava/io/OutputStream;ILjava/lang/String;[Ljavax/naming/ldap/Control;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Hashtable<**>;)Lcom/sun/jndi/ldap/LdapClient;
    MethodParameters:
               Name  Flags
      host           
      port           
      socketFactory  
      connTimeout    
      readTimeout    
      trace          
      version        
      authMech       
      ctls           
      protocol       
      user           
      passwd         
      env            

  public static void showStats(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.io.PrintStream out
         0: .line 346
            aload 0 /* out */
            ldc "***** start *****"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 347
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "idle timeout: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.sun.jndi.ldap.LdapPoolManager.idleTimeout:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 348
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "maximum pool size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.sun.jndi.ldap.LdapPoolManager.maxSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 349
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "preferred pool size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.sun.jndi.ldap.LdapPoolManager.prefSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 350
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "initial pool size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.sun.jndi.ldap.LdapPoolManager.initSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 351
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "protocol types: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.sun.jndi.ldap.LdapPoolManager.supportPlainProtocol:Z
            ifeq 6
            ldc "plain "
            goto 7
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder
         6: ldc ""
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
         7: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 352
            getstatic com.sun.jndi.ldap.LdapPoolManager.supportSslProtocol:Z
            ifeq 9
            ldc "ssl"
            goto 10
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder
         9: ldc ""
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
        10: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 351
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 353
            aload 0 /* out */
            new java.lang.StringBuilder
            dup
            ldc "authentication types: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 354
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iconst_0
            aaload
            ifnull 14
            ldc "none "
            goto 15
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder
        14: ldc ""
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
        15: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 355
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iconst_1
            aaload
            ifnull 17
            ldc "simple "
            goto 18
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder
        17: ldc ""
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
        18: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 356
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iconst_2
            aaload
            ifnull 20
            ldc "DIGEST-MD5 "
            goto 21
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder
        20: ldc ""
      StackMap locals: java.io.PrintStream
      StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
        21: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 353
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        23: .line 358
            iconst_0
            istore 1 /* i */
        start local 1 // int i
        24: goto 37
        25: .line 359
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 1 /* i */
            aaload
            ifnull 36
        26: .line 360
            aload 0 /* out */
        27: .line 361
            new java.lang.StringBuilder
            dup
            iload 1 /* i */
            ifne 28
            ldc "anonymous pools"
            goto 31
        28: .line 362
      StackMap locals: java.io.PrintStream int
      StackMap stack: java.io.PrintStream new 27 new 27
            iload 1 /* i */
            iconst_1
            if_icmpne 29
            ldc "simple auth pools"
            goto 31
        29: .line 363
      StackMap locals: java.io.PrintStream int
      StackMap stack: java.io.PrintStream new 27 new 27
            iload 1 /* i */
            iconst_2
            if_icmpne 30
            ldc "digest pools"
            goto 31
      StackMap locals: java.io.PrintStream int
      StackMap stack: java.io.PrintStream new 27 new 27
        30: ldc ""
      StackMap locals: java.io.PrintStream int
      StackMap stack: java.io.PrintStream new 27 new 27 java.lang.String
        31: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        32: .line 364
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 361
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 360
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        35: .line 365
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 1 /* i */
            aaload
            aload 0 /* out */
            invokevirtual com.sun.jndi.ldap.pool.Pool.showStats:(Ljava/io/PrintStream;)V
        36: .line 358
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 1 /* i */
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            arraylength
            if_icmplt 25
        end local 1 // int i
        38: .line 368
            aload 0 /* out */
            ldc "***** end *****"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        39: .line 369
            return
        end local 0 // java.io.PrintStream out
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   40     0   out  Ljava/io/PrintStream;
           24   38     1     i  I
    MethodParameters:
      Name  Flags
      out   

  public static void expire(long);
    descriptor: (J)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // long threshold
         0: .line 379
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 380
      StackMap locals: int
      StackMap stack:
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 2 /* i */
            aaload
            ifnull 4
         3: .line 381
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            iload 2 /* i */
            aaload
            lload 0 /* threshold */
            invokevirtual com.sun.jndi.ldap.pool.Pool.expire:(J)V
         4: .line 379
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            getstatic com.sun.jndi.ldap.LdapPoolManager.pools:[Lcom/sun/jndi/ldap/pool/Pool;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 384
            return
        end local 0 // long threshold
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  threshold  J
            1    6     2          i  I
    MethodParameters:
           Name  Flags
      threshold  

  private static void d(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 387
            getstatic com.sun.jndi.ldap.LdapPoolManager.debug:Z
            ifeq 2
         1: .line 388
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "LdapPoolManager: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 390
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   msg  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   

  private static void d(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String msg
        start local 1 // java.lang.String o
         0: .line 393
            getstatic com.sun.jndi.ldap.LdapPoolManager.debug:Z
            ifeq 2
         1: .line 394
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "LdapPoolManager: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* o */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 396
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String o
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   msg  Ljava/lang/String;
            0    3     1     o  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      msg   
      o     

  private static final java.lang.String getProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.String propName
        start local 1 // java.lang.String defVal
         0: .line 401
            new com.sun.jndi.ldap.LdapPoolManager$2
            dup
            aload 0 /* propName */
            aload 1 /* defVal */
            invokespecial com.sun.jndi.ldap.LdapPoolManager$2.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 400
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String defVal
        end local 0 // java.lang.String propName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0  propName  Ljava/lang/String;
            0    2     1    defVal  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      propName  final
      defVal    final

  private static final int getInteger(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String propName
        start local 1 // int defVal
         0: .line 415
            new com.sun.jndi.ldap.LdapPoolManager$3
            dup
            aload 0 /* propName */
            iload 1 /* defVal */
            invokespecial com.sun.jndi.ldap.LdapPoolManager$3.<init>:(Ljava/lang/String;I)V
         1: .line 414
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* val */
        start local 2 // java.lang.Integer val
         2: .line 424
            aload 2 /* val */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer val
        end local 1 // int defVal
        end local 0 // java.lang.String propName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  propName  Ljava/lang/String;
            0    3     1    defVal  I
            2    3     2       val  Ljava/lang/Integer;
    MethodParameters:
          Name  Flags
      propName  final
      defVal    final

  private static final long getLong(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.String propName
        start local 1 // long defVal
         0: .line 430
            new com.sun.jndi.ldap.LdapPoolManager$4
            dup
            aload 0 /* propName */
            lload 1 /* defVal */
            invokespecial com.sun.jndi.ldap.LdapPoolManager$4.<init>:(Ljava/lang/String;J)V
         1: .line 429
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 3 /* val */
        start local 3 // java.lang.Long val
         2: .line 439
            aload 3 /* val */
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 3 // java.lang.Long val
        end local 1 // long defVal
        end local 0 // java.lang.String propName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  propName  Ljava/lang/String;
            0    3     1    defVal  J
            2    3     3       val  Ljava/lang/Long;
    MethodParameters:
          Name  Flags
      propName  final
      defVal    final
}
SourceFile: "LdapPoolManager.java"
NestMembers:
  com.sun.jndi.ldap.LdapPoolManager$1  com.sun.jndi.ldap.LdapPoolManager$2  com.sun.jndi.ldap.LdapPoolManager$3  com.sun.jndi.ldap.LdapPoolManager$4
InnerClasses:
  com.sun.jndi.ldap.LdapPoolManager$1
  com.sun.jndi.ldap.LdapPoolManager$2
  com.sun.jndi.ldap.LdapPoolManager$3
  com.sun.jndi.ldap.LdapPoolManager$4