final class org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch<LK, LV>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch
  super_class: java.lang.Object
{
  private final LK _key;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: TLK;

  private org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V>.ObjectQueue _pool;
    descriptor: Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;

  private org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair<LV> _pair;
    descriptor: Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TLV;>;

  private boolean _mayCreate;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  final org.apache.commons.pool.impl.GenericKeyedObjectPool this$0;
    descriptor: Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>();
    descriptor: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
        start local 2 // java.lang.Object key
         0: .line 2492
            aload 0 /* this */
            aload 1
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch.this$0:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 2486
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._mayCreate:Z
         2: .line 2493
            aload 0 /* this */
            aload 2 /* key */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._key:Ljava/lang/Object;
         3: .line 2494
            return
        end local 2 // java.lang.Object key
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
            0    4     2   key  TLK;
    Signature: (TLK;)V
    MethodParameters:
        Name  Flags
      this$0  final
      key     

  private synchronized LK getkey();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
         0: .line 2501
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._key:Ljava/lang/Object;
            areturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
    Signature: ()TLK;

  private synchronized org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V>.ObjectQueue getPool();
    descriptor: ()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
         0: .line 2509
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._pool:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
            areturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
    Signature: ()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;

  private synchronized void setPool(org.apache.commons.pool.impl.GenericKeyedObjectPool<K, V>.ObjectQueue);
    descriptor: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
        start local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
         0: .line 2517
            aload 0 /* this */
            aload 1 /* pool */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._pool:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectQueue;
         1: .line 2518
            return
        end local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue pool
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
            0    2     1  pool  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;
    Signature: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.ObjectQueue;)V
    MethodParameters:
      Name  Flags
      pool  

  private synchronized org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair<LV> getPair();
    descriptor: ()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
         0: .line 2526
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._pair:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
            areturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
    Signature: ()Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TLV;>;

  private synchronized void setPair(org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair<LV>);
    descriptor: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
        start local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pair
         0: .line 2534
            aload 0 /* this */
            aload 1 /* pair */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._pair:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
         1: .line 2535
            return
        end local 1 // org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair pair
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
            0    2     1  pair  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TLV;>;
    Signature: (Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair<TLV;>;)V
    MethodParameters:
      Name  Flags
      pair  

  private synchronized boolean mayCreate();
    descriptor: ()Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
         0: .line 2542
            aload 0 /* this */
            getfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._mayCreate:Z
            ireturn
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;

  private synchronized void setMayCreate(boolean);
    descriptor: (Z)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
        start local 1 // boolean mayCreate
         0: .line 2551
            aload 0 /* this */
            iload 1 /* mayCreate */
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._mayCreate:Z
         1: .line 2552
            return
        end local 1 // boolean mayCreate
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
            0    2     1  mayCreate  Z
    MethodParameters:
           Name  Flags
      mayCreate  

  private synchronized void reset();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
         0: .line 2559
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._pair:Lorg/apache/commons/pool/impl/GenericKeyedObjectPool$ObjectTimestampPair;
         1: .line 2560
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch._mayCreate:Z
         2: .line 2561
            return
        end local 0 // org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/pool/impl/GenericKeyedObjectPool<TK;TV;>.Latch<TLK;TLV;>;
}
Signature: <LK:Ljava/lang/Object;LV:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "GenericKeyedObjectPool.java"
NestHost: org.apache.commons.pool.impl.GenericKeyedObjectPool
InnerClasses:
  private final Latch = org.apache.commons.pool.impl.GenericKeyedObjectPool$Latch of org.apache.commons.pool.impl.GenericKeyedObjectPool
  private ObjectQueue = org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectQueue of org.apache.commons.pool.impl.GenericKeyedObjectPool
  ObjectTimestampPair = org.apache.commons.pool.impl.GenericKeyedObjectPool$ObjectTimestampPair of org.apache.commons.pool.impl.GenericKeyedObjectPool