public class org.apache.catalina.startup.Catalina$CatalinaShutdownHook extends java.lang.Thread
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.startup.Catalina$CatalinaShutdownHook
  super_class: java.lang.Thread
{
  final org.apache.catalina.startup.Catalina this$0;
    descriptor: Lorg/apache/catalina/startup/Catalina;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  protected void <init>(org.apache.catalina.startup.Catalina);
    descriptor: (Lorg/apache/catalina/startup/Catalina;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.startup.Catalina$CatalinaShutdownHook this
         0: .line 797
            aload 0 /* this */
            aload 1
            putfield org.apache.catalina.startup.Catalina$CatalinaShutdownHook.this$0:Lorg/apache/catalina/startup/Catalina;
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:()V
            return
        end local 0 // org.apache.catalina.startup.Catalina$CatalinaShutdownHook this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/catalina/startup/Catalina$CatalinaShutdownHook;
    MethodParameters:
        Name  Flags
      this$0  final

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.catalina.startup.Catalina$CatalinaShutdownHook this
         0: .line 802
            aload 0 /* this */
            getfield org.apache.catalina.startup.Catalina$CatalinaShutdownHook.this$0:Lorg/apache/catalina/startup/Catalina;
            invokevirtual org.apache.catalina.startup.Catalina.getServer:()Lorg/apache/catalina/Server;
            ifnull 15
         1: .line 803
            aload 0 /* this */
            getfield org.apache.catalina.startup.Catalina$CatalinaShutdownHook.this$0:Lorg/apache/catalina/startup/Catalina;
            invokevirtual org.apache.catalina.startup.Catalina.stop:()V
         2: .line 805
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1 /* ex */
        start local 1 // java.lang.Throwable ex
         4: .line 806
            aload 1 /* ex */
            invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
         5: .line 807
            getstatic org.apache.catalina.startup.Catalina.log:Lorg/apache/juli/logging/Log;
            getstatic org.apache.catalina.startup.Catalina.sm:Lorg/apache/tomcat/util/res/StringManager;
            ldc "catalina.shutdownHookFail"
            invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* ex */
            invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable ex
         6: .line 811
            invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
            astore 3 /* logManager */
        start local 3 // java.util.logging.LogManager logManager
         7: .line 812
            aload 3 /* logManager */
            instanceof org.apache.juli.ClassLoaderLogManager
            ifeq 18
         8: .line 813
            aload 3 /* logManager */
            checkcast org.apache.juli.ClassLoaderLogManager
            invokevirtual org.apache.juli.ClassLoaderLogManager.shutdown:()V
        end local 3 // java.util.logging.LogManager logManager
         9: goto 18
        10: .line 808
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
        11: .line 811
            invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
            astore 3 /* logManager */
        start local 3 // java.util.logging.LogManager logManager
        12: .line 812
            aload 3 /* logManager */
            instanceof org.apache.juli.ClassLoaderLogManager
            ifeq 14
        13: .line 813
            aload 3 /* logManager */
            checkcast org.apache.juli.ClassLoaderLogManager
            invokevirtual org.apache.juli.ClassLoaderLogManager.shutdown:()V
        end local 3 // java.util.logging.LogManager logManager
        14: .line 815
      StackMap locals: org.apache.catalina.startup.Catalina$CatalinaShutdownHook top java.lang.Throwable
      StackMap stack:
            aload 2
            athrow
        15: .line 811
      StackMap locals: org.apache.catalina.startup.Catalina$CatalinaShutdownHook
      StackMap stack:
            invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
            astore 3 /* logManager */
        start local 3 // java.util.logging.LogManager logManager
        16: .line 812
            aload 3 /* logManager */
            instanceof org.apache.juli.ClassLoaderLogManager
            ifeq 18
        17: .line 813
            aload 3 /* logManager */
            checkcast org.apache.juli.ClassLoaderLogManager
            invokevirtual org.apache.juli.ClassLoaderLogManager.shutdown:()V
        end local 3 // java.util.logging.LogManager logManager
        18: .line 816
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.catalina.startup.Catalina$CatalinaShutdownHook this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/apache/catalina/startup/Catalina$CatalinaShutdownHook;
            4    6     1          ex  Ljava/lang/Throwable;
            7    9     3  logManager  Ljava/util/logging/LogManager;
           12   14     3  logManager  Ljava/util/logging/LogManager;
           16   18     3  logManager  Ljava/util/logging/LogManager;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Throwable
           0     6      10  any
}
SourceFile: "Catalina.java"
NestHost: org.apache.catalina.startup.Catalina
InnerClasses:
  protected CatalinaShutdownHook = org.apache.catalina.startup.Catalina$CatalinaShutdownHook of org.apache.catalina.startup.Catalina