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 java.util.Map<S, org.apache.coyote.Processor> connections;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<TS;Lorg/apache/coyote/Processor;>;

  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 736
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 731
            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 732
            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 733
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.coyote.AbstractProtocol$ConnectionHandler.connections:Ljava/util/Map;
         4: .line 734
            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;
         5: .line 737
            aload 0 /* this */
            aload 1 /* proto */
            putfield org.apache.coyote.AbstractProtocol$ConnectionHandler.proto:Lorg/apache/coyote/AbstractProtocol;
         6: .line 738
            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    7     0   this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0    7     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 741
            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 745
            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 750
            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 755
            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 756
            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  

  public java.util.Set<S> getOpenSockets();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 1042
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.connections:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            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: ()Ljava/util/Set<TS;>;

  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 1054
            aload 1 /* processor */
            ifnull 5
         1: .line 1055
            aload 1 /* processor */
            invokeinterface org.apache.coyote.Processor.recycle:()V
         2: .line 1061
            aload 1 /* processor */
            invokeinterface org.apache.coyote.Processor.isUpgrade:()Z
            ifne 5
         3: .line 1062
            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
         4: .line 1063
            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
         5: .line 1066
      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    6     0       this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            0    6     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=4, args_size=2
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
        start local 1 // org.apache.tomcat.util.net.SocketWrapperBase socketWrapper
         0: .line 1075
            aload 1 /* socketWrapper */
            invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getSocket:()Ljava/lang/Object;
            astore 2 /* socket */
        start local 2 // java.lang.Object socket
         1: .line 1076
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.connections:Ljava/util/Map;
            aload 2 /* socket */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.coyote.Processor
            astore 3 /* processor */
        start local 3 // org.apache.coyote.Processor processor
         2: .line 1077
            aload 0 /* this */
            aload 3 /* processor */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.release:(Lorg/apache/coyote/Processor;)V
         3: .line 1078
            return
        end local 3 // org.apache.coyote.Processor processor
        end local 2 // java.lang.Object socket
        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         socket  TS;
            2    4     3      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 1082
            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 1083
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1085
            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 1087
            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 1086
            astore 5 /* rp */
        start local 5 // org.apache.coyote.RequestInfo rp
         5: .line 1088
            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 1089
            new javax.management.ObjectName
            dup
         7: .line 1090
            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 1091
            ldc ":type=RequestProcessor,worker="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 1092
            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 1093
            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 1094
            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 1090
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 1089
            invokespecial javax.management.ObjectName.<init>:(Ljava/lang/String;)V
            astore 6 /* rpName */
        start local 6 // javax.management.ObjectName rpName
        14: .line 1095
            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 1096
            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 6 /* rpName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        16: .line 1098
      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 1099
            aload 6 /* rpName */
            aconst_null
        18: .line 1098
            invokevirtual org.apache.tomcat.util.modeler.Registry.registerComponent:(Ljava/lang/Object;Ljavax/management/ObjectName;Ljava/lang/String;)V
        19: .line 1100
            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 1101
            goto 23
      StackMap locals: org.apache.coyote.AbstractProtocol$ConnectionHandler org.apache.coyote.Processor org.apache.coyote.AbstractProtocol$ConnectionHandler
      StackMap stack: java.lang.Exception
        21: pop
        22: .line 1102
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            ldc "Error registering request"
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        23: .line 1083
      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 1106
      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;
      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 1109
            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 1110
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1112
            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 1113
            aload 3 /* r */
            ifnonnull 6
         4: .line 1115
            aload 2
            monitorexit
         5: return
         6: .line 1117
      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 1118
            aload 4 /* rp */
            aconst_null
            invokevirtual org.apache.coyote.RequestInfo.setGlobalProcessor:(Lorg/apache/coyote/RequestGroupInfo;)V
         8: .line 1119
            aload 4 /* rp */
            invokevirtual org.apache.coyote.RequestInfo.getRpName:()Ljavax/management/ObjectName;
            astore 5 /* rpName */
        start local 5 // javax.management.ObjectName rpName
         9: .line 1120
            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 1121
            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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
        11: .line 1123
      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 1124
            aload 5 /* rpName */
        13: .line 1123
            invokevirtual org.apache.tomcat.util.modeler.Registry.unregisterComponent:(Ljavax/management/ObjectName;)V
        14: .line 1125
            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 1126
            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 1127
            aload 0 /* this */
            invokevirtual org.apache.coyote.AbstractProtocol$ConnectionHandler.getLog:()Lorg/apache/juli/logging/Log;
            ldc "Error unregistering request"
            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 1110
      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 1131
      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=3, args_size=1
        start local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
         0: .line 1144
            aload 0 /* this */
            getfield org.apache.coyote.AbstractProtocol$ConnectionHandler.connections:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      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.coyote.Processor
            astore 1 /* processor */
        start local 1 // org.apache.coyote.Processor processor
         2: .line 1145
            aload 1 /* processor */
            invokeinterface org.apache.coyote.Processor.pause:()V
        end local 1 // org.apache.coyote.Processor processor
         3: .line 1144
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1147
            return
        end local 0 // org.apache.coyote.AbstractProtocol$ConnectionHandler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/apache/coyote/AbstractProtocol$ConnectionHandler<TS;>;
            2    3     1  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