public class ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter extends ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter
  super_class: ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter this
         0: .line 24
            aload 0 /* this */
            invokespecial ch.qos.logback.classic.pattern.ExtendedThrowableProxyConverter.<init>:()V
            return
        end local 0 // ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lch/qos/logback/classic/pattern/RootCauseFirstThrowableProxyConverter;

  protected java.lang.String throwableProxyToString(ch.qos.logback.classic.spi.IThrowableProxy);
    descriptor: (Lch/qos/logback/classic/spi/IThrowableProxy;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter this
        start local 1 // ch.qos.logback.classic.spi.IThrowableProxy tp
         0: .line 28
            new java.lang.StringBuilder
            dup
            sipush 2048
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuilder buf
         1: .line 29
            aload 0 /* this */
            aload 2 /* buf */
            aconst_null
            iconst_1
            aload 1 /* tp */
            invokevirtual ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter.recursiveAppendRootCauseFirst:(Ljava/lang/StringBuilder;Ljava/lang/String;ILch/qos/logback/classic/spi/IThrowableProxy;)V
         2: .line 30
            aload 2 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder buf
        end local 1 // ch.qos.logback.classic.spi.IThrowableProxy tp
        end local 0 // ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lch/qos/logback/classic/pattern/RootCauseFirstThrowableProxyConverter;
            0    3     1    tp  Lch/qos/logback/classic/spi/IThrowableProxy;
            1    3     2   buf  Ljava/lang/StringBuilder;
    MethodParameters:
      Name  Flags
      tp    

  protected void recursiveAppendRootCauseFirst(java.lang.StringBuilder, java.lang.String, int, ch.qos.logback.classic.spi.IThrowableProxy);
    descriptor: (Ljava/lang/StringBuilder;Ljava/lang/String;ILch/qos/logback/classic/spi/IThrowableProxy;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter this
        start local 1 // java.lang.StringBuilder sb
        start local 2 // java.lang.String prefix
        start local 3 // int indent
        start local 4 // ch.qos.logback.classic.spi.IThrowableProxy tp
         0: .line 34
            aload 4 /* tp */
            invokeinterface ch.qos.logback.classic.spi.IThrowableProxy.getCause:()Lch/qos/logback/classic/spi/IThrowableProxy;
            ifnull 3
         1: .line 35
            aload 0 /* this */
            aload 1 /* sb */
            aload 2 /* prefix */
            iload 3 /* indent */
            aload 4 /* tp */
            invokeinterface ch.qos.logback.classic.spi.IThrowableProxy.getCause:()Lch/qos/logback/classic/spi/IThrowableProxy;
            invokevirtual ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter.recursiveAppendRootCauseFirst:(Ljava/lang/StringBuilder;Ljava/lang/String;ILch/qos/logback/classic/spi/IThrowableProxy;)V
         2: .line 36
            aconst_null
            astore 2 /* prefix */
         3: .line 38
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            iload 3 /* indent */
            iconst_1
            isub
            invokestatic ch.qos.logback.classic.spi.ThrowableProxyUtil.indent:(Ljava/lang/StringBuilder;I)V
         4: .line 39
            aload 2 /* prefix */
            ifnull 6
         5: .line 40
            aload 1 /* sb */
            aload 2 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 42
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 4 /* tp */
            invokestatic ch.qos.logback.classic.spi.ThrowableProxyUtil.subjoinFirstLineRootCauseFirst:(Ljava/lang/StringBuilder;Lch/qos/logback/classic/spi/IThrowableProxy;)V
         7: .line 43
            aload 1 /* sb */
            getstatic ch.qos.logback.core.CoreConstants.LINE_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 44
            aload 0 /* this */
            aload 1 /* sb */
            iload 3 /* indent */
            aload 4 /* tp */
            invokevirtual ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter.subjoinSTEPArray:(Ljava/lang/StringBuilder;ILch/qos/logback/classic/spi/IThrowableProxy;)V
         9: .line 45
            aload 4 /* tp */
            invokeinterface ch.qos.logback.classic.spi.IThrowableProxy.getSuppressed:()[Lch/qos/logback/classic/spi/IThrowableProxy;
            astore 5 /* suppressed */
        start local 5 // ch.qos.logback.classic.spi.IThrowableProxy[] suppressed
        10: .line 46
            aload 5 /* suppressed */
            ifnull 16
        11: .line 47
            aload 5 /* suppressed */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 15
      StackMap locals: ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter java.lang.StringBuilder java.lang.String int ch.qos.logback.classic.spi.IThrowableProxy ch.qos.logback.classic.spi.IThrowableProxy[] top int int ch.qos.logback.classic.spi.IThrowableProxy[]
      StackMap stack:
        12: aload 9
            iload 7
            aaload
            astore 6 /* current */
        start local 6 // ch.qos.logback.classic.spi.IThrowableProxy current
        13: .line 48
            aload 0 /* this */
            aload 1 /* sb */
            ldc "Suppressed: "
            iload 3 /* indent */
            iconst_1
            iadd
            aload 6 /* current */
            invokevirtual ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter.recursiveAppendRootCauseFirst:(Ljava/lang/StringBuilder;Ljava/lang/String;ILch/qos/logback/classic/spi/IThrowableProxy;)V
        end local 6 // ch.qos.logback.classic.spi.IThrowableProxy current
        14: .line 47
            iinc 7 1
      StackMap locals:
      StackMap stack:
        15: iload 7
            iload 8
            if_icmplt 12
        16: .line 51
      StackMap locals: ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter java.lang.StringBuilder java.lang.String int ch.qos.logback.classic.spi.IThrowableProxy ch.qos.logback.classic.spi.IThrowableProxy[]
      StackMap stack:
            return
        end local 5 // ch.qos.logback.classic.spi.IThrowableProxy[] suppressed
        end local 4 // ch.qos.logback.classic.spi.IThrowableProxy tp
        end local 3 // int indent
        end local 2 // java.lang.String prefix
        end local 1 // java.lang.StringBuilder sb
        end local 0 // ch.qos.logback.classic.pattern.RootCauseFirstThrowableProxyConverter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lch/qos/logback/classic/pattern/RootCauseFirstThrowableProxyConverter;
            0   17     1          sb  Ljava/lang/StringBuilder;
            0   17     2      prefix  Ljava/lang/String;
            0   17     3      indent  I
            0   17     4          tp  Lch/qos/logback/classic/spi/IThrowableProxy;
           10   17     5  suppressed  [Lch/qos/logback/classic/spi/IThrowableProxy;
           13   14     6     current  Lch/qos/logback/classic/spi/IThrowableProxy;
    MethodParameters:
        Name  Flags
      sb      
      prefix  
      indent  
      tp      
}
SourceFile: "RootCauseFirstThrowableProxyConverter.java"