public abstract class org.eclipse.jetty.util.compression.CompressionPool<T> extends org.eclipse.jetty.util.component.AbstractLifeCycle
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jetty.util.compression.CompressionPool
  super_class: org.eclipse.jetty.util.component.AbstractLifeCycle
{
  public static final int INFINITE_CAPACITY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private final java.util.Queue<T> _pool;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<TT;>;

  private final java.util.concurrent.atomic.AtomicInteger _numObjects;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int _capacity;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.util.compression.CompressionPool this
        start local 1 // int capacity
         0: .line 44
            aload 0 /* this */
            invokespecial org.eclipse.jetty.util.component.AbstractLifeCycle.<init>:()V
         1: .line 32
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield org.eclipse.jetty.util.compression.CompressionPool._numObjects:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 46
            aload 0 /* this */
            iload 1 /* capacity */
            putfield org.eclipse.jetty.util.compression.CompressionPool._capacity:I
         3: .line 47
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._capacity:I
            ifne 4
            aconst_null
            goto 5
      StackMap locals: org.eclipse.jetty.util.compression.CompressionPool int
      StackMap stack: org.eclipse.jetty.util.compression.CompressionPool
         4: new java.util.concurrent.ConcurrentLinkedQueue
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
      StackMap locals: org.eclipse.jetty.util.compression.CompressionPool int
      StackMap stack: org.eclipse.jetty.util.compression.CompressionPool java.util.concurrent.ConcurrentLinkedQueue
         5: putfield org.eclipse.jetty.util.compression.CompressionPool._pool:Ljava/util/Queue;
         6: .line 48
            return
        end local 1 // int capacity
        end local 0 // org.eclipse.jetty.util.compression.CompressionPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/jetty/util/compression/CompressionPool<TT;>;
            0    7     1  capacity  I
    MethodParameters:
          Name  Flags
      capacity  

  protected abstract T newObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: ()TT;

  protected abstract void end();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TT;)V
    MethodParameters:
        Name  Flags
      object  

  protected abstract void reset();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TT;)V
    MethodParameters:
        Name  Flags
      object  

  public T acquire();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jetty.util.compression.CompressionPool this
         0: .line 63
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._capacity:I
            ifne 3
         1: .line 64
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.newObject:()Ljava/lang/Object;
            astore 1 /* object */
        start local 1 // java.lang.Object object
         2: goto 8
        end local 1 // java.lang.Object object
         3: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._pool:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            astore 1 /* object */
        start local 1 // java.lang.Object object
         4: .line 68
            aload 1 /* object */
            ifnonnull 6
         5: .line 69
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.newObject:()Ljava/lang/Object;
            astore 1 /* object */
            goto 8
         6: .line 70
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._capacity:I
            ifle 8
         7: .line 71
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._numObjects:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
         8: .line 74
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            areturn
        end local 1 // java.lang.Object object
        end local 0 // org.eclipse.jetty.util.compression.CompressionPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/eclipse/jetty/util/compression/CompressionPool<TT;>;
            2    3     1  object  TT;
            4    9     1  object  TT;
    Signature: ()TT;

  public void release();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.util.compression.CompressionPool this
        start local 1 // java.lang.Object object
         0: .line 82
            aload 1 /* object */
            ifnonnull 2
         1: .line 83
            return
         2: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._capacity:I
            ifeq 3
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.isRunning:()Z
            ifne 5
         3: .line 87
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.end:(Ljava/lang/Object;)V
         4: .line 88
            return
         5: .line 90
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._capacity:I
            ifge 9
         6: .line 92
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.reset:(Ljava/lang/Object;)V
         7: .line 93
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._pool:Ljava/util/Queue;
            aload 1 /* object */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         8: .line 94
            goto 16
         9: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._numObjects:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            istore 2 /* d */
        start local 2 // int d
        10: .line 101
            iload 2 /* d */
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._capacity:I
            if_icmplt 13
        11: .line 103
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.end:(Ljava/lang/Object;)V
        12: .line 104
            goto 16
        13: .line 107
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._numObjects:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 2 /* d */
            iload 2 /* d */
            iconst_1
            iadd
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifeq 9
        14: .line 109
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.reset:(Ljava/lang/Object;)V
        15: .line 110
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._pool:Ljava/util/Queue;
            aload 1 /* object */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // int d
        16: .line 115
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object object
        end local 0 // org.eclipse.jetty.util.compression.CompressionPool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/eclipse/jetty/util/compression/CompressionPool<TT;>;
            0   17     1  object  TT;
           10   16     2       d  I
    Signature: (TT;)V
    MethodParameters:
        Name  Flags
      object  

  public void doStop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jetty.util.compression.CompressionPool this
         0: .line 120
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._pool:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            astore 1 /* t */
        start local 1 // java.lang.Object t
         1: .line 121
            goto 4
         2: .line 123
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual org.eclipse.jetty.util.compression.CompressionPool.end:(Ljava/lang/Object;)V
         3: .line 124
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._pool:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            astore 1 /* t */
         4: .line 121
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            ifnonnull 2
         5: .line 126
            aload 0 /* this */
            getfield org.eclipse.jetty.util.compression.CompressionPool._numObjects:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         6: .line 127
            return
        end local 1 // java.lang.Object t
        end local 0 // org.eclipse.jetty.util.compression.CompressionPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jetty/util/compression/CompressionPool<TT;>;
            1    7     1     t  TT;
}
Signature: <T:Ljava/lang/Object;>Lorg/eclipse/jetty/util/component/AbstractLifeCycle;
SourceFile: "CompressionPool.java"