public class org.apache.catalina.core.StandardEngine extends org.apache.catalina.core.ContainerBase implements org.apache.catalina.Engine
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.core.StandardEngine
  super_class: org.apache.catalina.core.ContainerBase
{
  private static final org.apache.juli.logging.Log log;
    descriptor: Lorg/apache/juli/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.String defaultHost;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.catalina.Service service;
    descriptor: Lorg/apache/catalina/Service;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String jvmRouteId;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.concurrent.atomic.AtomicReference<org.apache.catalina.AccessLog> defaultAccessLog;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/apache/catalina/AccessLog;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 56
            ldc Lorg/apache/catalina/core/StandardEngine;
            invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
            putstatic org.apache.catalina.core.StandardEngine.log:Lorg/apache/juli/logging/Log;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 66
            aload 0 /* this */
            invokespecial org.apache.catalina.core.ContainerBase.<init>:()V
         1: .line 87
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.StandardEngine.defaultHost:Ljava/lang/String;
         2: .line 93
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
         3: .line 105
            aload 0 /* this */
         4: .line 106
            new java.util.concurrent.atomic.AtomicReference
            dup
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
            putfield org.apache.catalina.core.StandardEngine.defaultAccessLog:Ljava/util/concurrent/atomic/AtomicReference;
         5: .line 67
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.pipeline:Lorg/apache/catalina/Pipeline;
            new org.apache.catalina.core.StandardEngineValve
            dup
            invokespecial org.apache.catalina.core.StandardEngineValve.<init>:()V
            invokeinterface org.apache.catalina.Pipeline.setBasic:(Lorg/apache/catalina/Valve;)V
         6: .line 70
            aload 0 /* this */
            ldc "jvmRoute"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.apache.catalina.core.StandardEngine.setJvmRoute:(Ljava/lang/String;)V
         7: .line 71
            goto 10
      StackMap locals: org.apache.catalina.core.StandardEngine
      StackMap stack: java.lang.Exception
         8: pop
         9: .line 72
            getstatic org.apache.catalina.core.StandardEngine.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.StandardEngine.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardEngine.jvmRouteFail"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
        10: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            putfield org.apache.catalina.core.StandardEngine.backgroundProcessorDelay:I
        11: .line 77
            return
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/catalina/core/StandardEngine;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.Exception

  public org.apache.catalina.Realm getRealm();
    descriptor: ()Lorg/apache/catalina/Realm;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 118
            aload 0 /* this */
            invokespecial org.apache.catalina.core.ContainerBase.getRealm:()Lorg/apache/catalina/Realm;
            astore 1 /* configured */
        start local 1 // org.apache.catalina.Realm configured
         1: .line 121
            aload 1 /* configured */
            ifnonnull 4
         2: .line 122
            new org.apache.catalina.realm.NullRealm
            dup
            invokespecial org.apache.catalina.realm.NullRealm.<init>:()V
            astore 1 /* configured */
         3: .line 123
            aload 0 /* this */
            aload 1 /* configured */
            invokevirtual org.apache.catalina.core.StandardEngine.setRealm:(Lorg/apache/catalina/Realm;)V
         4: .line 125
      StackMap locals: org.apache.catalina.Realm
      StackMap stack:
            aload 1 /* configured */
            areturn
        end local 1 // org.apache.catalina.Realm configured
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/catalina/core/StandardEngine;
            1    5     1  configured  Lorg/apache/catalina/Realm;

  public java.lang.String getDefaultHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 134
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.defaultHost:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/StandardEngine;

  public void setDefaultHost(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.catalina.core.StandardEngine this
        start local 1 // java.lang.String host
         0: .line 146
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.defaultHost:Ljava/lang/String;
            astore 2 /* oldDefaultHost */
        start local 2 // java.lang.String oldDefaultHost
         1: .line 147
            aload 1 /* host */
            ifnonnull 4
         2: .line 148
            aload 0 /* this */
            aconst_null
            putfield org.apache.catalina.core.StandardEngine.defaultHost:Ljava/lang/String;
         3: .line 149
            goto 5
         4: .line 150
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* host */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            putfield org.apache.catalina.core.StandardEngine.defaultHost:Ljava/lang/String;
         5: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.StandardEngine.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifeq 7
         6: .line 153
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            invokeinterface org.apache.catalina.Service.getMapper:()Lorg/apache/catalina/mapper/Mapper;
            aload 1 /* host */
            invokevirtual org.apache.catalina.mapper.Mapper.setDefaultHostName:(Ljava/lang/String;)V
         7: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.support:Ljava/beans/PropertyChangeSupport;
            ldc "defaultHost"
            aload 2 /* oldDefaultHost */
         8: .line 156
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.defaultHost:Ljava/lang/String;
         9: .line 155
            invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 158
            return
        end local 2 // java.lang.String oldDefaultHost
        end local 1 // java.lang.String host
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/apache/catalina/core/StandardEngine;
            0   11     1            host  Ljava/lang/String;
            1   11     2  oldDefaultHost  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      host  

  public void setJvmRoute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.StandardEngine this
        start local 1 // java.lang.String routeId
         0: .line 169
            aload 0 /* this */
            aload 1 /* routeId */
            putfield org.apache.catalina.core.StandardEngine.jvmRouteId:Ljava/lang/String;
         1: .line 170
            return
        end local 1 // java.lang.String routeId
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/catalina/core/StandardEngine;
            0    2     1  routeId  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      routeId  

  public java.lang.String getJvmRoute();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 179
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.jvmRouteId:Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/StandardEngine;

  public org.apache.catalina.Service getService();
    descriptor: ()Lorg/apache/catalina/Service;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 188
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/StandardEngine;

  public void setService(org.apache.catalina.Service);
    descriptor: (Lorg/apache/catalina/Service;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.StandardEngine this
        start local 1 // org.apache.catalina.Service service
         0: .line 199
            aload 0 /* this */
            aload 1 /* service */
            putfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
         1: .line 200
            return
        end local 1 // org.apache.catalina.Service service
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/catalina/core/StandardEngine;
            0    2     1  service  Lorg/apache/catalina/Service;
    MethodParameters:
         Name  Flags
      service  

  public void addChild(org.apache.catalina.Container);
    descriptor: (Lorg/apache/catalina/Container;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.StandardEngine this
        start local 1 // org.apache.catalina.Container child
         0: .line 214
            aload 1 /* child */
            instanceof org.apache.catalina.Host
            ifne 4
         1: .line 215
            new java.lang.IllegalArgumentException
            dup
         2: .line 216
            getstatic org.apache.catalina.core.StandardEngine.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardEngine.notHost"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 215
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* child */
            invokespecial org.apache.catalina.core.ContainerBase.addChild:(Lorg/apache/catalina/Container;)V
         5: .line 219
            return
        end local 1 // org.apache.catalina.Container child
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/catalina/core/StandardEngine;
            0    6     1  child  Lorg/apache/catalina/Container;
    MethodParameters:
       Name  Flags
      child  

  public void setParent(org.apache.catalina.Container);
    descriptor: (Lorg/apache/catalina/Container;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.catalina.core.StandardEngine this
        start local 1 // org.apache.catalina.Container container
         0: .line 231
            new java.lang.IllegalArgumentException
            dup
         1: .line 232
            getstatic org.apache.catalina.core.StandardEngine.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardEngine.notParent"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 231
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.apache.catalina.Container container
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/catalina/core/StandardEngine;
            0    3     1  container  Lorg/apache/catalina/Container;
    MethodParameters:
           Name  Flags
      container  

  protected void initInternal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 241
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.StandardEngine.getRealm:()Lorg/apache/catalina/Realm;
            pop
         1: .line 242
            aload 0 /* this */
            invokespecial org.apache.catalina.core.ContainerBase.initInternal:()V
         2: .line 243
            return
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/catalina/core/StandardEngine;
    Exceptions:
      throws org.apache.catalina.LifecycleException

  protected synchronized void startInternal();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 257
            getstatic org.apache.catalina.core.StandardEngine.log:Lorg/apache/juli/logging/Log;
            invokeinterface org.apache.juli.logging.Log.isInfoEnabled:()Z
            ifeq 2
         1: .line 258
            getstatic org.apache.catalina.core.StandardEngine.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.core.StandardEngine.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "standardEngine.start"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            invokestatic org.apache.catalina.util.ServerInfo.getServerInfo:()Ljava/lang/String;
            aastore
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
         2: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.catalina.core.ContainerBase.startInternal:()V
         3: .line 263
            return
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/catalina/core/StandardEngine;
    Exceptions:
      throws org.apache.catalina.LifecycleException

  public void logAccess(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, long, boolean);
    descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // org.apache.catalina.core.StandardEngine this
        start local 1 // org.apache.catalina.connector.Request request
        start local 2 // org.apache.catalina.connector.Response response
        start local 3 // long time
        start local 5 // boolean useDefault
         0: .line 276
            iconst_0
            istore 6 /* logged */
        start local 6 // boolean logged
         1: .line 278
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.StandardEngine.getAccessLog:()Lorg/apache/catalina/AccessLog;
            ifnull 4
         2: .line 279
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.accessLog:Lorg/apache/catalina/AccessLog;
            aload 1 /* request */
            aload 2 /* response */
            lload 3 /* time */
            invokeinterface org.apache.catalina.AccessLog.log:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;J)V
         3: .line 280
            iconst_1
            istore 6 /* logged */
         4: .line 283
      StackMap locals: int
      StackMap stack:
            iload 6 /* logged */
            ifne 45
            iload 5 /* useDefault */
            ifeq 45
         5: .line 284
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.defaultAccessLog:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.catalina.AccessLog
            astore 7 /* newDefaultAccessLog */
        start local 7 // org.apache.catalina.AccessLog newDefaultAccessLog
         6: .line 285
            aload 7 /* newDefaultAccessLog */
            ifnonnull 44
         7: .line 288
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.StandardEngine.getDefaultHost:()Ljava/lang/String;
            invokevirtual org.apache.catalina.core.StandardEngine.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Host
            astore 8 /* host */
        start local 8 // org.apache.catalina.Host host
         8: .line 289
            aconst_null
            astore 9 /* context */
        start local 9 // org.apache.catalina.Context context
         9: .line 290
            aload 8 /* host */
            ifnull 34
            aload 8 /* host */
            invokeinterface org.apache.catalina.Host.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifeq 34
        10: .line 291
            aload 8 /* host */
            invokeinterface org.apache.catalina.Host.getAccessLog:()Lorg/apache/catalina/AccessLog;
            astore 7 /* newDefaultAccessLog */
        11: .line 293
            aload 7 /* newDefaultAccessLog */
            ifnull 21
        12: .line 294
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.defaultAccessLog:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
        13: .line 295
            aload 7 /* newDefaultAccessLog */
        14: .line 294
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
        15: .line 295
            ifeq 34
        16: .line 296
            new org.apache.catalina.core.StandardEngine$AccessLogListener
            dup
            aload 0 /* this */
        17: .line 297
            aload 8 /* host */
            aconst_null
        18: .line 296
            invokespecial org.apache.catalina.core.StandardEngine$AccessLogListener.<init>:(Lorg/apache/catalina/core/StandardEngine;Lorg/apache/catalina/Host;Lorg/apache/catalina/Context;)V
            astore 10 /* l */
        start local 10 // org.apache.catalina.core.StandardEngine$AccessLogListener l
        19: .line 298
            aload 10 /* l */
            invokevirtual org.apache.catalina.core.StandardEngine$AccessLogListener.install:()V
        end local 10 // org.apache.catalina.core.StandardEngine$AccessLogListener l
        20: .line 300
            goto 34
        21: .line 302
      StackMap locals: org.apache.catalina.AccessLog org.apache.catalina.Host org.apache.catalina.Context
      StackMap stack:
            aload 8 /* host */
            ldc ""
            invokeinterface org.apache.catalina.Host.findChild:(Ljava/lang/String;)Lorg/apache/catalina/Container;
            checkcast org.apache.catalina.Context
            astore 9 /* context */
        22: .line 303
            aload 9 /* context */
            ifnull 34
        23: .line 304
            aload 9 /* context */
            invokeinterface org.apache.catalina.Context.getState:()Lorg/apache/catalina/LifecycleState;
            invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
            ifeq 34
        24: .line 305
            aload 9 /* context */
            invokeinterface org.apache.catalina.Context.getAccessLog:()Lorg/apache/catalina/AccessLog;
            astore 7 /* newDefaultAccessLog */
        25: .line 306
            aload 7 /* newDefaultAccessLog */
            ifnull 34
        26: .line 307
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.defaultAccessLog:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
        27: .line 308
            aload 7 /* newDefaultAccessLog */
        28: .line 307
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
        29: .line 308
            ifeq 34
        30: .line 309
            new org.apache.catalina.core.StandardEngine$AccessLogListener
            dup
        31: .line 310
            aload 0 /* this */
            aconst_null
            aload 9 /* context */
        32: .line 309
            invokespecial org.apache.catalina.core.StandardEngine$AccessLogListener.<init>:(Lorg/apache/catalina/core/StandardEngine;Lorg/apache/catalina/Host;Lorg/apache/catalina/Context;)V
            astore 10 /* l */
        start local 10 // org.apache.catalina.core.StandardEngine$AccessLogListener l
        33: .line 311
            aload 10 /* l */
            invokevirtual org.apache.catalina.core.StandardEngine$AccessLogListener.install:()V
        end local 10 // org.apache.catalina.core.StandardEngine$AccessLogListener l
        34: .line 318
      StackMap locals:
      StackMap stack:
            aload 7 /* newDefaultAccessLog */
            ifnonnull 44
        35: .line 319
            new org.apache.catalina.core.StandardEngine$NoopAccessLog
            dup
            invokespecial org.apache.catalina.core.StandardEngine$NoopAccessLog.<init>:()V
            astore 7 /* newDefaultAccessLog */
        36: .line 320
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.defaultAccessLog:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
        37: .line 321
            aload 7 /* newDefaultAccessLog */
        38: .line 320
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
        39: .line 321
            ifeq 44
        40: .line 322
            new org.apache.catalina.core.StandardEngine$AccessLogListener
            dup
            aload 0 /* this */
            aload 8 /* host */
        41: .line 323
            aload 9 /* context */
        42: .line 322
            invokespecial org.apache.catalina.core.StandardEngine$AccessLogListener.<init>:(Lorg/apache/catalina/core/StandardEngine;Lorg/apache/catalina/Host;Lorg/apache/catalina/Context;)V
            astore 10 /* l */
        start local 10 // org.apache.catalina.core.StandardEngine$AccessLogListener l
        43: .line 324
            aload 10 /* l */
            invokevirtual org.apache.catalina.core.StandardEngine$AccessLogListener.install:()V
        end local 10 // org.apache.catalina.core.StandardEngine$AccessLogListener l
        end local 9 // org.apache.catalina.Context context
        end local 8 // org.apache.catalina.Host host
        44: .line 329
      StackMap locals:
      StackMap stack:
            aload 7 /* newDefaultAccessLog */
            aload 1 /* request */
            aload 2 /* response */
            lload 3 /* time */
            invokeinterface org.apache.catalina.AccessLog.log:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;J)V
        end local 7 // org.apache.catalina.AccessLog newDefaultAccessLog
        45: .line 331
      StackMap locals:
      StackMap stack:
            return
        end local 6 // boolean logged
        end local 5 // boolean useDefault
        end local 3 // long time
        end local 2 // org.apache.catalina.connector.Response response
        end local 1 // org.apache.catalina.connector.Request request
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   46     0                 this  Lorg/apache/catalina/core/StandardEngine;
            0   46     1              request  Lorg/apache/catalina/connector/Request;
            0   46     2             response  Lorg/apache/catalina/connector/Response;
            0   46     3                 time  J
            0   46     5           useDefault  Z
            1   46     6               logged  Z
            6   45     7  newDefaultAccessLog  Lorg/apache/catalina/AccessLog;
            8   44     8                 host  Lorg/apache/catalina/Host;
            9   44     9              context  Lorg/apache/catalina/Context;
           19   20    10                    l  Lorg/apache/catalina/core/StandardEngine$AccessLogListener;
           33   34    10                    l  Lorg/apache/catalina/core/StandardEngine$AccessLogListener;
           43   44    10                    l  Lorg/apache/catalina/core/StandardEngine$AccessLogListener;
    MethodParameters:
            Name  Flags
      request     
      response    
      time        
      useDefault  

  public java.lang.ClassLoader getParentClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 339
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.parentClassLoader:Ljava/lang/ClassLoader;
            ifnull 2
         1: .line 340
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.parentClassLoader:Ljava/lang/ClassLoader;
            areturn
         2: .line 341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            ifnull 4
         3: .line 342
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            invokeinterface org.apache.catalina.Service.getParentClassLoader:()Ljava/lang/ClassLoader;
            areturn
         4: .line 344
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/catalina/core/StandardEngine;

  public java.io.File getCatalinaBase();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 350
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            ifnull 6
         1: .line 351
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            invokeinterface org.apache.catalina.Service.getServer:()Lorg/apache/catalina/Server;
            astore 1 /* s */
        start local 1 // org.apache.catalina.Server s
         2: .line 352
            aload 1 /* s */
            ifnull 6
         3: .line 353
            aload 1 /* s */
            invokeinterface org.apache.catalina.Server.getCatalinaBase:()Ljava/io/File;
            astore 2 /* base */
        start local 2 // java.io.File base
         4: .line 354
            aload 2 /* base */
            ifnull 6
         5: .line 355
            aload 2 /* base */
            areturn
        end local 2 // java.io.File base
        end local 1 // org.apache.catalina.Server s
         6: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.catalina.core.ContainerBase.getCatalinaBase:()Ljava/io/File;
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/catalina/core/StandardEngine;
            2    6     1     s  Lorg/apache/catalina/Server;
            4    6     2  base  Ljava/io/File;

  public java.io.File getCatalinaHome();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 366
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            ifnull 6
         1: .line 367
            aload 0 /* this */
            getfield org.apache.catalina.core.StandardEngine.service:Lorg/apache/catalina/Service;
            invokeinterface org.apache.catalina.Service.getServer:()Lorg/apache/catalina/Server;
            astore 1 /* s */
        start local 1 // org.apache.catalina.Server s
         2: .line 368
            aload 1 /* s */
            ifnull 6
         3: .line 369
            aload 1 /* s */
            invokeinterface org.apache.catalina.Server.getCatalinaHome:()Ljava/io/File;
            astore 2 /* base */
        start local 2 // java.io.File base
         4: .line 370
            aload 2 /* base */
            ifnull 6
         5: .line 371
            aload 2 /* base */
            areturn
        end local 2 // java.io.File base
        end local 1 // org.apache.catalina.Server s
         6: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.catalina.core.ContainerBase.getCatalinaHome:()Ljava/io/File;
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/catalina/core/StandardEngine;
            2    6     1     s  Lorg/apache/catalina/Server;
            4    6     2  base  Ljava/io/File;

  protected java.lang.String getObjectNameKeyProperties();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 384
            ldc "type=Engine"
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/StandardEngine;

  protected java.lang.String getDomainInternal();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.catalina.core.StandardEngine this
         0: .line 390
            aload 0 /* this */
            invokevirtual org.apache.catalina.core.StandardEngine.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.catalina.core.StandardEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/core/StandardEngine;
}
SourceFile: "StandardEngine.java"
NestMembers:
  org.apache.catalina.core.StandardEngine$AccessLogListener  org.apache.catalina.core.StandardEngine$NoopAccessLog
InnerClasses:
  protected final AccessLogListener = org.apache.catalina.core.StandardEngine$AccessLogListener of org.apache.catalina.core.StandardEngine
  protected final NoopAccessLog = org.apache.catalina.core.StandardEngine$NoopAccessLog of org.apache.catalina.core.StandardEngine