public class org.apache.coyote.AbstractProtocol$ConnectionHandler<S> implements org.apache.tomcat.util.net.AbstractEndpoint$Handler<S>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.coyote.AbstractProtocol$ConnectionHandler
  super_class: java.lang.Object
{
  private final org.apache.coyote.AbstractProtocol<S> proto;
    descriptor: Lorg/apache/coyote/AbstractProtocol;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/apache/coyote/AbstractProtocol<TS;>;

  private final org.apache.coyote.RequestGroupInfo global;
    descriptor: Lorg/apache/coyote/RequestGroupInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.apache.coyote.AbstractProtocol$RecycledProcessors recycledProcessors;
    descriptor: Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.coyote.AbstractProtocol<S>);
    descriptor: (Lorg/apache/coyote/AbstractProtocol;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
        start local 1 // org.apache.coyote.AbstractProtocol proto
         0: .line 733
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 729
            aload 0 /* this */
            new org.apache.coyote.RequestGroupInfo
            dup
            invokespecial org.apache.coyote.RequestGroupInfo.<init>:()V
            putfield org.apache.coyote.AbstractProtocol$ConnectionHandler.global:Lorg/apache/coyote/RequestGroupInfo;
         2: .line 730
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicLong
            dup
            lconst_0
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
            putfield org.apache.coyote.AbstractProtocol$ConnectionHandler.registerCount:Ljava/util/concurrent/atomic/AtomicLong;
         3: .line 731
            aload 0 /* this */
            new org.apache.coyote.AbstractProtocol$RecycledProcessors
            dup
            aload 0 /* this */
            invokespecial org.apache.coyote.AbstractProtocol$RecycledProcessors.<init>:(Lorg/apache/coyote/AbstractProtocol$ConnectionHandler;)V
            putfield org.apache.coyote.AbstractProtocol$ConnectionHandler.recycledProcessors:Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
         4: .line 734
            aload 0 /* this */
            aload 1 /* proto */
            putfield org.apache.coyote.AbstractProtocol$ConnectionHandler.proto:Lorg/apache/coyote/AbstractProtocol;
         5: .line 735
            return
        end local 1 // org.apache.coyote.AbstractProtocol proto
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0    6     1  proto  Lorg/apache/coyote/AbstractProtocol<TS;>;
    Signature: (Lorg/apache/coyote/AbstractProtocol<TS;>;)V
    MethodParameters:
       Name  Flags
      proto  

  protected org.apache.coyote.AbstractProtocol<S> getProtocol();
    descriptor: ()Lorg/apache/coyote/AbstractProtocol;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 738
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.proto:Lorg/apache/coyote/AbstractProtocol;
            areturn
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
    Signature: ()Lorg/apache/coyote/AbstractProtocol<TS;>;

  protected org.apache.juli.logging.Log getLog();
    descriptor: ()Lorg/apache/juli/logging/Log;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 742
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getLog:()Lorg/apache/juli/logging/Log;
            areturn
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;

  public java.lang.Object getGlobal();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 747
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.global:Lorg/apache/coyote/RequestGroupInfo;
            areturn
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;

  public void recycle();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 752
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.recycledProcessors:Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
            invokevirtual org.apache.coyote.AbstractProtocol$RecycledProcessors.clear:()V
         1: .line 753
            return
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;

  public org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState process(org.apache.tomcat.util.net.SocketWrapperBase<S>, org.apache.tomcat.util.net.SocketEvent);
    descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 905
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tThe method getInstanceManager() from the type UpgradeToken refers to the missing type InstanceManager\n\tThe method getContextBind() from the type UpgradeToken refers to the missing type ContextBind\n\tThe method getContextBind() from the type UpgradeToken refers to the missing type ContextBind\n\tInstanceManager cannot be resolved to a type\n\tThe method getInstanceManager() from the type UpgradeToken refers to the missing type InstanceManager\n\tThe method getContextBind() from the type UpgradeToken refers to the missing type ContextBind\n\tThe method getContextBind() from the type UpgradeToken refers to the missing type ContextBind\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
    Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<TS;>;Lorg/apache/tomcat/util/net/SocketEvent;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
    MethodParameters:
         Name  Flags
      wrapper  
      status   

  protected void longPoll(org.apache.tomcat.util.net.SocketWrapperBase<?>, org.apache.coyote.Processor);
    descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;Lorg/apache/coyote/Processor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
        start local 1 // org.apache.tomcat.util.net.SocketWrapperBase socket
        start local 2 // org.apache.coyote.Processor processor
         0: .line 1029
            aload 2 /* processor */
            invokeinterface org.apache.coyote.Processor.isAsync:()Z
            ifne 2
         1: .line 1035
            aload 1 /* socket */
            invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.registerReadInterest:()V
         2: .line 1037
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.coyote.Processor processor
        end local 1 // org.apache.tomcat.util.net.SocketWrapperBase socket
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0    3     1     socket  Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;
            0    3     2  processor  Lorg/apache/coyote/Processor;
    Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;Lorg/apache/coyote/Processor;)V
    MethodParameters:
           Name  Flags
      socket     
      processor  

  private void release(org.apache.coyote.Processor);
    descriptor: (Lorg/apache/coyote/Processor;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
        start local 1 // org.apache.coyote.Processor processor
         0: .line 1048
            aload 1 /* processor */
            ifnull 8
         1: .line 1049
            aload 1 /* processor */
            invokeinterface org.apache.coyote.Processor.recycle:()V
         2: .line 1050
            aload 1 /* processor */
            invokeinterface org.apache.coyote.Processor.isUpgrade:()Z
            ifeq 5
         3: .line 1058
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            aload 1 /* processor */
            invokevirtual org.apache.coyote.AbstractProtocol.removeWaitingProcessor:(Lorg/apache/coyote/Processor;)V
         4: .line 1059
            goto 8
         5: .line 1065
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.recycledProcessors:Lorg/apache/coyote/AbstractProtocol$RecycledProcessors;
            aload 1 /* processor */
            invokevirtual org.apache.coyote.AbstractProtocol$RecycledProcessors.push:(Lorg/apache/coyote/Processor;)Z
            pop
         6: .line 1066
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 8
         7: .line 1067
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Pushed Processor ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* processor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
         8: .line 1071
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.coyote.Processor processor
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0    9     1  processor  Lorg/apache/coyote/Processor;
    MethodParameters:
           Name  Flags
      processor  

  public void release(org.apache.tomcat.util.net.SocketWrapperBase<S>);
    descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
        start local 1 // org.apache.tomcat.util.net.SocketWrapperBase socketWrapper
         0: .line 1080
            aload 1 /* socketWrapper */
            invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getCurrentProcessor:()Ljava/lang/Object;
            checkcast org.apache.coyote.Processor
            astore 2 /* processor */
        start local 2 // org.apache.coyote.Processor processor
         1: .line 1081
            aload 1 /* socketWrapper */
            aconst_null
            invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.setCurrentProcessor:(Ljava/lang/Object;)V
         2: .line 1082
            aload 0 /* this */
            aload 2 /* processor */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.release:(Lorg/apache/coyote/Processor;)V
         3: .line 1083
            return
        end local 2 // org.apache.coyote.Processor processor
        end local 1 // org.apache.tomcat.util.net.SocketWrapperBase socketWrapper
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0    4     1  socketWrapper  Lorg/apache/tomcat/util/net/SocketWrapperBase<TS;>;
            1    4     2      processor  Lorg/apache/coyote/Processor;
    Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<TS;>;)V
    MethodParameters:
               Name  Flags
      socketWrapper  

  protected void register(org.apache.coyote.Processor);
    descriptor: (Lorg/apache/coyote/Processor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
        start local 1 // org.apache.coyote.Processor processor
         0: .line 1087
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getDomain:()Ljava/lang/String;
            ifnull 27
         1: .line 1088
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1090
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.registerCount:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
            lstore 3 /* count */
        start local 3 // long count
         3: .line 1092
            aload 1 /* processor */
            invokeinterface org.apache.coyote.Processor.getRequest:()Lorg/apache/coyote/Request;
            invokevirtual org.apache.coyote.Request.getRequestProcessor:()Lorg/apache/coyote/RequestInfo;
         4: .line 1091
            astore 5 /* rp */
        start local 5 // org.apache.coyote.RequestInfo rp
         5: .line 1093
            aload 5 /* rp */
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.global:Lorg/apache/coyote/RequestGroupInfo;
            invokevirtual org.apache.coyote.RequestInfo.setGlobalProcessor:(Lorg/apache/coyote/RequestGroupInfo;)V
         6: .line 1094
            new javax.management.ObjectName
            dup
         7: .line 1095
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getDomain:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 1096
            ldc ":type=RequestProcessor,worker="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 1097
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1098
            ldc ",name="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getProtocolName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1099
            ldc "Request"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 3 /* count */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        12: .line 1095
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 1094
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 6 /* rpName */
        start local 6 // javax.management.ObjectName rpName
        14: .line 1100
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 16
        15: .line 1101
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Register ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* processor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] as ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* rpName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        16: .line 1103
      StackMap locals: org.apache.coyote.AbstractProtocol$ConnectionHandler org.apache.coyote.Processor org.apache.coyote.AbstractProtocol$ConnectionHandler long org.apache.coyote.RequestInfo javax.management.ObjectName
      StackMap stack:
            aconst_null
            aconst_null
            invokestatic org.apache.tomcat.util.modeler.Registry.getRegistry:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/tomcat/util/modeler/Registry;
            aload 5 /* rp */
        17: .line 1104
            aload 6 /* rpName */
            aconst_null
        18: .line 1103
            invokevirtual org.apache.tomcat.util.modeler.Registry.registerComponent:(Ljava/lang/Object;Ljavax/management/ObjectName;Ljava/lang/String;)V
        19: .line 1105
            aload 5 /* rp */
            aload 6 /* rpName */
            invokevirtual org.apache.coyote.RequestInfo.setRpName:(Ljavax/management/ObjectName;)V
        end local 6 // javax.management.ObjectName rpName
        end local 5 // org.apache.coyote.RequestInfo rp
        end local 3 // long count
        20: .line 1106
            goto 23
      StackMap locals: org.apache.coyote.AbstractProtocol$ConnectionHandler org.apache.coyote.Processor org.apache.coyote.AbstractProtocol$ConnectionHandler
      StackMap stack: java.lang.Exception
        21: astore 3 /* e */
        start local 3 // java.lang.Exception e
        22: .line 1107
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.coyote.AbstractProtocol.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "abstractProtocol.processorRegisterError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* e */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        23: .line 1088
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        24: goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: aload 2
            monitorexit
        26: athrow
        27: .line 1111
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.coyote.Processor processor
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0   28     1  processor  Lorg/apache/coyote/Processor;
            3   20     3      count  J
            5   20     5         rp  Lorg/apache/coyote/RequestInfo;
           14   20     6     rpName  Ljavax/management/ObjectName;
           22   23     3          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2    20      21  Class java.lang.Exception
           2    24      25  any
          25    26      25  any
    MethodParameters:
           Name  Flags
      processor  

  protected void unregister(org.apache.coyote.Processor);
    descriptor: (Lorg/apache/coyote/Processor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
        start local 1 // org.apache.coyote.Processor processor
         0: .line 1114
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getProtocol:()Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getDomain:()Ljava/lang/String;
            ifnull 22
         1: .line 1115
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1117
            aload 1 /* processor */
            invokeinterface org.apache.coyote.Processor.getRequest:()Lorg/apache/coyote/Request;
            astore 3 /* r */
        start local 3 // org.apache.coyote.Request r
         3: .line 1118
            aload 3 /* r */
            ifnonnull 6
         4: .line 1120
            aload 2
            monitorexit
         5: return
         6: .line 1122
      StackMap locals: org.apache.coyote.AbstractProtocol$ConnectionHandler org.apache.coyote.Request
      StackMap stack:
            aload 3 /* r */
            invokevirtual org.apache.coyote.Request.getRequestProcessor:()Lorg/apache/coyote/RequestInfo;
            astore 4 /* rp */
        start local 4 // org.apache.coyote.RequestInfo rp
         7: .line 1123
            aload 4 /* rp */
            aconst_null
            invokevirtual org.apache.coyote.RequestInfo.setGlobalProcessor:(Lorg/apache/coyote/RequestGroupInfo;)V
         8: .line 1124
            aload 4 /* rp */
            invokevirtual org.apache.coyote.RequestInfo.getRpName:()Ljavax/management/ObjectName;
            astore 5 /* rpName */
        start local 5 // javax.management.ObjectName rpName
         9: .line 1125
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
            ifeq 11
        10: .line 1126
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Unregister ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* rpName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        11: .line 1128
      StackMap locals: org.apache.coyote.RequestInfo javax.management.ObjectName
      StackMap stack:
            aconst_null
            aconst_null
            invokestatic org.apache.tomcat.util.modeler.Registry.getRegistry:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/tomcat/util/modeler/Registry;
        12: .line 1129
            aload 5 /* rpName */
        13: .line 1128
            invokevirtual org.apache.tomcat.util.modeler.Registry.unregisterComponent:(Ljavax/management/ObjectName;)V
        14: .line 1130
            aload 4 /* rp */
            aconst_null
            invokevirtual org.apache.coyote.RequestInfo.setRpName:(Ljavax/management/ObjectName;)V
        end local 5 // javax.management.ObjectName rpName
        end local 4 // org.apache.coyote.RequestInfo rp
        end local 3 // org.apache.coyote.Request r
        15: .line 1131
            goto 18
      StackMap locals: org.apache.coyote.AbstractProtocol$ConnectionHandler org.apache.coyote.Processor org.apache.coyote.AbstractProtocol$ConnectionHandler
      StackMap stack: java.lang.Exception
        16: astore 3 /* e */
        start local 3 // java.lang.Exception e
        17: .line 1132
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            getstatic org.apache.coyote.AbstractProtocol.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "abstractProtocol.processorUnregisterError"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* e */
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        18: .line 1115
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        19: goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: aload 2
            monitorexit
        21: athrow
        22: .line 1136
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.coyote.Processor processor
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0   23     1  processor  Lorg/apache/coyote/Processor;
            3   15     3          r  Lorg/apache/coyote/Request;
            7   15     4         rp  Lorg/apache/coyote/RequestInfo;
            9   15     5     rpName  Ljavax/management/ObjectName;
           17   18     3          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     4      16  Class java.lang.Exception
           6    15      16  Class java.lang.Exception
           2     5      20  any
           6    19      20  any
          20    21      20  any
    MethodParameters:
           Name  Flags
      processor  

  public final void pause();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 1149
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.proto:Lorg/apache/coyote/AbstractProtocol;
            invokevirtual org.apache.coyote.AbstractProtocol.getEndpoint:()Lorg/apache/tomcat/util/net/AbstractEndpoint;
            invokevirtual org.apache.tomcat.util.net.AbstractEndpoint.getConnections:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: org.apache.coyote.AbstractProtocol$ConnectionHandler top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.tomcat.util.net.SocketWrapperBase
            astore 1 /* wrapper */
        start local 1 // org.apache.tomcat.util.net.SocketWrapperBase wrapper
         2: .line 1150
            aload 1 /* wrapper */
            invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getCurrentProcessor:()Ljava/lang/Object;
            checkcast org.apache.coyote.Processor
            astore 3 /* processor */
        start local 3 // org.apache.coyote.Processor processor
         3: .line 1151
            aload 3 /* processor */
            ifnull 5
         4: .line 1152
            aload 3 /* processor */
            invokeinterface org.apache.coyote.Processor.pause:()V
        end local 3 // org.apache.coyote.Processor processor
        end local 1 // org.apache.tomcat.util.net.SocketWrapperBase wrapper
         5: .line 1149
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 1155
            return
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            2    5     1    wrapper  Lorg/apache/tomcat/util/net/SocketWrapperBase<TS;>;
            3    5     3  processor  Lorg/apache/coyote/Processor;
}
Signature: <S:Ljava/lang/Object;>Ljava/lang/Object;Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler<TS;>;
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
  public abstract Handler = org.apache.tomcat.util.net.AbstractEndpoint$Handler of org.apache.tomcat.util.net.AbstractEndpoint
  public final SocketState = org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState of org.apache.tomcat.util.net.AbstractEndpoint$Handler