public final class org.apache.logging.log4j.core.util.Throwables
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.logging.log4j.core.util.Throwables
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.util.Throwables this
         0: .line 33
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 34
            return
        end local 0 // org.apache.logging.log4j.core.util.Throwables this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/util/Throwables;

  public static java.lang.Throwable getRootCause(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 44
            aload 0 /* throwable */
            astore 2 /* root */
        start local 2 // java.lang.Throwable root
         1: .line 45
            goto 3
        start local 1 // java.lang.Throwable cause
         2: .line 46
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
            aload 1 /* cause */
            astore 2 /* root */
        end local 1 // java.lang.Throwable cause
         3: .line 45
      StackMap locals: java.lang.Throwable top java.lang.Throwable
      StackMap stack:
            aload 2 /* root */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            dup
            astore 1 /* cause */
        start local 1 // java.lang.Throwable cause
         4: ifnonnull 2
         5: .line 48
            aload 2 /* root */
            areturn
        end local 2 // java.lang.Throwable root
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  throwable  Ljava/lang/Throwable;
            2    3     1      cause  Ljava/lang/Throwable;
            4    6     1      cause  Ljava/lang/Throwable;
            1    6     2       root  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      throwable  final

  public static java.util.List<java.lang.String> toStringList(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 58
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 1 /* sw */
        start local 1 // java.io.StringWriter sw
         1: .line 59
            new java.io.PrintWriter
            dup
            aload 1 /* sw */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 2 /* pw */
        start local 2 // java.io.PrintWriter pw
         2: .line 61
            aload 0 /* throwable */
            aload 2 /* pw */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 62
            goto 5
      StackMap locals: java.lang.Throwable java.io.StringWriter java.io.PrintWriter
      StackMap stack: java.lang.RuntimeException
         4: pop
         5: .line 65
      StackMap locals:
      StackMap stack:
            aload 2 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
         6: .line 66
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* lines */
        start local 3 // java.util.List lines
         7: .line 67
            new java.io.LineNumberReader
            dup
            new java.io.StringReader
            dup
            aload 1 /* sw */
            invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            invokespecial java.io.LineNumberReader.<init>:(Ljava/io/Reader;)V
            astore 4 /* reader */
        start local 4 // java.io.LineNumberReader reader
         8: .line 69
            aload 4 /* reader */
            invokevirtual java.io.LineNumberReader.readLine:()Ljava/lang/String;
            astore 5 /* line */
        start local 5 // java.lang.String line
         9: .line 70
            goto 12
        10: .line 71
      StackMap locals: java.util.List java.io.LineNumberReader java.lang.String
      StackMap stack:
            aload 3 /* lines */
            aload 5 /* line */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 72
            aload 4 /* reader */
            invokevirtual java.io.LineNumberReader.readLine:()Ljava/lang/String;
            astore 5 /* line */
        12: .line 70
      StackMap locals:
      StackMap stack:
            aload 5 /* line */
            ifnonnull 10
        end local 5 // java.lang.String line
        13: .line 74
            goto 22
      StackMap locals: java.lang.Throwable java.io.StringWriter java.io.PrintWriter java.util.List java.io.LineNumberReader
      StackMap stack: java.io.IOException
        14: astore 5 /* ex */
        start local 5 // java.io.IOException ex
        15: .line 75
            aload 5 /* ex */
            instanceof java.io.InterruptedIOException
            ifeq 17
        16: .line 76
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        17: .line 78
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 3 /* lines */
            aload 5 /* ex */
            invokevirtual java.io.IOException.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.io.IOException ex
        18: .line 80
            aload 4 /* reader */
            invokestatic org.apache.logging.log4j.core.util.Closer.closeSilently:(Ljava/lang/AutoCloseable;)Z
            pop
            goto 23
        19: .line 79
      StackMap locals: java.lang.Throwable java.io.StringWriter java.io.PrintWriter java.util.List java.io.LineNumberReader
      StackMap stack: java.lang.Throwable
            astore 6
        20: .line 80
            aload 4 /* reader */
            invokestatic org.apache.logging.log4j.core.util.Closer.closeSilently:(Ljava/lang/AutoCloseable;)Z
            pop
        21: .line 81
            aload 6
            athrow
        22: .line 80
      StackMap locals:
      StackMap stack:
            aload 4 /* reader */
            invokestatic org.apache.logging.log4j.core.util.Closer.closeSilently:(Ljava/lang/AutoCloseable;)Z
            pop
        23: .line 82
      StackMap locals:
      StackMap stack:
            aload 3 /* lines */
            areturn
        end local 4 // java.io.LineNumberReader reader
        end local 3 // java.util.List lines
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.io.StringWriter sw
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0  throwable  Ljava/lang/Throwable;
            1   24     1         sw  Ljava/io/StringWriter;
            2   24     2         pw  Ljava/io/PrintWriter;
            7   24     3      lines  Ljava/util/List<Ljava/lang/String;>;
            8   24     4     reader  Ljava/io/LineNumberReader;
            9   13     5       line  Ljava/lang/String;
           15   18     5         ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.RuntimeException
           8    13      14  Class java.io.IOException
           8    18      19  any
    Signature: (Ljava/lang/Throwable;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      throwable  final

  public static void rethrow(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 92
            aload 0 /* t */
            invokestatic org.apache.logging.log4j.core.util.Throwables.rethrow0:(Ljava/lang/Throwable;)V
         1: .line 93
            return
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     final

  private static <T extends java.lang.Throwable> void rethrow0(java.lang.Throwable) throws T;
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 97
            aload 0 /* t */
            athrow
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Throwable
    Signature: <T:Ljava/lang/Throwable;>(Ljava/lang/Throwable;)V^TT;
    MethodParameters:
      Name  Flags
      t     final
}
SourceFile: "Throwables.java"