public class org.apache.coyote.AbstractProtocol$RecycledProcessors extends org.apache.tomcat.util.collections.SynchronizedStack<org.apache.coyote.Processor>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.coyote.AbstractProtocol$RecycledProcessors
  super_class: org.apache.tomcat.util.collections.SynchronizedStack
{
  private final transient org.apache.coyote.AbstractProtocol$ConnectionHandler<?> handler;
    descriptor: Lorg/apache/coyote/AbstractProtocol$ConnectionHandler;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT
    Signature: Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<*>;

  protected final java.util.concurrent.atomic.AtomicInteger size;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(org.apache.coyote.AbstractProtocol$ConnectionHandler<?>);
    descriptor: (Lorg/apache/coyote/AbstractProtocol$ConnectionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
        start local 1 // org.apache.coyote.AbstractProtocol$ConnectionHandler handler
         0: .line 1163
            aload 0 /* this */
            invokespecial org.apache.tomcat.util.collections.SynchronizedStack.<init>:()V
         1: .line 1161
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putfield org.apache.coyote.AbstractProtocol$RecycledProcessors.size:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 1164
            aload 0 /* this */
            aload 1 /* handler */
            putfield org.apache.coyote.AbstractProtocol$RecycledProcessors.handler:Lorg/apache/coyote/AbstractProtocol$ConnectionHandler;
         3: .line 1165
            return
        end local 1 // org.apache.coyote.AbstractProtocol$ConnectionHandler handler
        end local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
            0    4     1  handler  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<*>;
    Signature: (Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<*>;)V
    MethodParameters:
         Name  Flags
      handler  

  public boolean push(org.apache.coyote.Processor);
    descriptor: (Lorg/apache/coyote/Processor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
        start local 1 // org.apache.coyote.Processor processor
         0: .line 1170
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$RecycledProcessors.handler:Lorg/apache/coyote/AbstractProtocol$ConnectionHandler;
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getProcessorCache:()I
            istore 2 /* cacheSize */
        start local 2 // int cacheSize
         1: .line 1171
            iload 2 /* cacheSize */
            iconst_m1
            if_icmpne 2
            iconst_1
            goto 4
      StackMap locals: int
      StackMap stack:
         2: aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$RecycledProcessors.size:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            iload 2 /* cacheSize */
            if_icmpge 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* offer */
        start local 3 // boolean offer
         5: .line 1173
            iconst_0
            istore 4 /* result */
        start local 4 // boolean result
         6: .line 1174
            iload 3 /* offer */
            ifeq 10
         7: .line 1175
            aload 0 /* this */
            aload 1 /* processor */
            invokespecial org.apache.tomcat.util.collections.SynchronizedStack.push:(Ljava/lang/Object;)Z
            istore 4 /* result */
         8: .line 1176
            iload 4 /* result */
            ifeq 10
         9: .line 1177
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$RecycledProcessors.size:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
        10: .line 1180
      StackMap locals: int int
      StackMap stack:
            iload 4 /* result */
            ifne 11
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$RecycledProcessors.handler:Lorg/apache/coyote/AbstractProtocol$ConnectionHandler;
            aload 1 /* processor */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.unregister:(Lorg/apache/coyote/Processor;)V
        11: .line 1181
      StackMap locals:
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // boolean result
        end local 3 // boolean offer
        end local 2 // int cacheSize
        end local 1 // org.apache.coyote.Processor processor
        end local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
            0   12     1  processor  Lorg/apache/coyote/Processor;
            1   12     2  cacheSize  I
            5   12     3      offer  Z
            6   12     4     result  Z
    MethodParameters:
           Name  Flags
      processor  

  public org.apache.coyote.Processor pop();
    descriptor: ()Lorg/apache/coyote/Processor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
         0: .line 1187
            aload 0 /* this */
            invokespecial org.apache.tomcat.util.collections.SynchronizedStack.pop:()Ljava/lang/Object;
            checkcast org.apache.coyote.Processor
            astore 1 /* result */
        start local 1 // org.apache.coyote.Processor result
         1: .line 1188
            aload 1 /* result */
            ifnull 3
         2: .line 1189
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$RecycledProcessors.size:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
         3: .line 1191
      StackMap locals: org.apache.coyote.Processor
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // org.apache.coyote.Processor result
        end local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
            1    4     1  result  Lorg/apache/coyote/Processor;

  public synchronized void clear();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
         0: .line 1196
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$RecycledProcessors.pop:()Lorg/apache/coyote/Processor;
            astore 1 /* next */
        start local 1 // org.apache.coyote.Processor next
         1: .line 1197
            goto 4
         2: .line 1198
      StackMap locals: org.apache.coyote.Processor
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$RecycledProcessors.handler:Lorg/apache/coyote/AbstractProtocol$ConnectionHandler;
            aload 1 /* next */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.unregister:(Lorg/apache/coyote/Processor;)V
         3: .line 1199
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$RecycledProcessors.pop:()Lorg/apache/coyote/Processor;
            astore 1 /* next */
         4: .line 1197
      StackMap locals:
      StackMap stack:
            aload 1 /* next */
            ifnonnull 2
         5: .line 1201
            aload 0 /* this */
            invokespecial org.apache.tomcat.util.collections.SynchronizedStack.clear:()V
         6: .line 1202
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$RecycledProcessors.size:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         7: .line 1203
            return
        end local 1 // org.apache.coyote.Processor next
        end local 0 // org.apache.coyote.AbstractProtocol$RecycledProcessors this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
            1    8     1  next  Lorg/apache/coyote/Processor;

  public java.lang.Object pop();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.coyote.AbstractProtocol$RecycledProcessors.pop:()Lorg/apache/coyote/Processor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean push(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.coyote.Processor
            invokevirtual org.apache.coyote.AbstractProtocol$RecycledProcessors.push:(Lorg/apache/coyote/Processor;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/apache/tomcat/util/collections/SynchronizedStack<Lorg/apache/coyote/Processor;>;
SourceFile: "AbstractProtocol.java"
NestHost: org.apache.coyote.AbstractProtocol
InnerClasses:
  protected ConnectionHandler = org.apache.coyote.AbstractProtocol$ConnectionHandler of org.apache.coyote.AbstractProtocol
  protected RecycledProcessors = org.apache.coyote.AbstractProtocol$RecycledProcessors of org.apache.coyote.AbstractProtocol