public class org.apache.commons.lang.exception.NestableDelegate implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.lang.exception.NestableDelegate
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final transient java.lang.String MUST_BE_THROWABLE;
    descriptor: Ljava/lang/String;
    flags: (0x009a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_TRANSIENT
    ConstantValue: "The Nestable implementation passed to the NestableDelegate(Nestable) constructor must extend java.lang.Throwable"

  private java.lang.Throwable nestable;
    descriptor: Ljava/lang/Throwable;
    flags: (0x0002) ACC_PRIVATE

  public static boolean topDown;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static boolean trimStackFrames;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static boolean matchSubclasses;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 78
            iconst_1
            putstatic org.apache.commons.lang.exception.NestableDelegate.topDown:Z
         1: .line 88
            iconst_1
            putstatic org.apache.commons.lang.exception.NestableDelegate.trimStackFrames:Z
         2: .line 98
            iconst_1
            putstatic org.apache.commons.lang.exception.NestableDelegate.matchSubclasses:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.commons.lang.exception.Nestable);
    descriptor: (Lorg/apache/commons/lang/exception/Nestable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // org.apache.commons.lang.exception.Nestable nestable
         0: .line 108
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
         2: .line 109
            aload 1 /* nestable */
            instanceof java.lang.Throwable
            ifeq 5
         3: .line 110
            aload 0 /* this */
            aload 1 /* nestable */
            checkcast java.lang.Throwable
            putfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
         4: .line 111
            goto 6
         5: .line 112
      StackMap locals: org.apache.commons.lang.exception.NestableDelegate org.apache.commons.lang.exception.Nestable
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The Nestable implementation passed to the NestableDelegate(Nestable) constructor must extend java.lang.Throwable"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 114
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.lang.exception.Nestable nestable
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0    7     1  nestable  Lorg/apache/commons/lang/exception/Nestable;
    MethodParameters:
          Name  Flags
      nestable  

  public java.lang.String getMessage(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // int index
         0: .line 130
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual org.apache.commons.lang.exception.NestableDelegate.getThrowable:(I)Ljava/lang/Throwable;
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
         1: .line 131
            ldc Lorg/apache/commons/lang/exception/Nestable;
            aload 2 /* t */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 132
            aload 2 /* t */
            checkcast org.apache.commons.lang.exception.Nestable
            iconst_0
            invokeinterface org.apache.commons.lang.exception.Nestable.getMessage:(I)Ljava/lang/String;
            areturn
         3: .line 134
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Throwable t
        end local 1 // int index
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0    4     1  index  I
            1    4     2      t  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      index  

  public java.lang.String getMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // java.lang.String baseMsg
         0: .line 148
            aload 0 /* this */
            getfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.getCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* nestedCause */
        start local 2 // java.lang.Throwable nestedCause
         1: .line 149
            aload 2 /* nestedCause */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: java.lang.Throwable
      StackMap stack:
         2: aload 2 /* nestedCause */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 3 /* causeMsg */
        start local 3 // java.lang.String causeMsg
         4: .line 150
            aload 2 /* nestedCause */
            ifnull 5
            aload 3 /* causeMsg */
            ifnonnull 6
         5: .line 151
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* baseMsg */
            areturn
         6: .line 153
      StackMap locals:
      StackMap stack:
            aload 1 /* baseMsg */
            ifnonnull 8
         7: .line 154
            aload 3 /* causeMsg */
            areturn
         8: .line 156
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* baseMsg */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* causeMsg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String causeMsg
        end local 2 // java.lang.Throwable nestedCause
        end local 1 // java.lang.String baseMsg
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0    9     1      baseMsg  Ljava/lang/String;
            1    9     2  nestedCause  Ljava/lang/Throwable;
            4    9     3     causeMsg  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      baseMsg  

  public java.lang.String[] getMessages();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
         0: .line 169
            aload 0 /* this */
            invokevirtual org.apache.commons.lang.exception.NestableDelegate.getThrowables:()[Ljava/lang/Throwable;
            astore 1 /* throwables */
        start local 1 // java.lang.Throwable[] throwables
         1: .line 170
            aload 1 /* throwables */
            arraylength
            anewarray java.lang.String
            astore 2 /* msgs */
        start local 2 // java.lang.String[] msgs
         2: .line 171
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 10
         4: .line 172
      StackMap locals: java.lang.Throwable[] java.lang.String[] int
      StackMap stack:
            aload 2 /* msgs */
            iload 3 /* i */
         5: .line 173
            ldc Lorg/apache/commons/lang/exception/Nestable;
            aload 1 /* throwables */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 174
            aload 1 /* throwables */
            iload 3 /* i */
            aaload
            checkcast org.apache.commons.lang.exception.Nestable
            iconst_0
            invokeinterface org.apache.commons.lang.exception.Nestable.getMessage:(I)Ljava/lang/String;
            goto 8
         7: .line 175
      StackMap locals: org.apache.commons.lang.exception.NestableDelegate java.lang.Throwable[] java.lang.String[] int
      StackMap stack: java.lang.String[] int
            aload 1 /* throwables */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
         8: .line 172
      StackMap locals: org.apache.commons.lang.exception.NestableDelegate java.lang.Throwable[] java.lang.String[] int
      StackMap stack: java.lang.String[] int java.lang.String
            aastore
         9: .line 171
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 1 /* throwables */
            arraylength
            if_icmplt 4
        end local 3 // int i
        11: .line 177
            aload 2 /* msgs */
            areturn
        end local 2 // java.lang.String[] msgs
        end local 1 // java.lang.Throwable[] throwables
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lorg/apache/commons/lang/exception/NestableDelegate;
            1   12     1  throwables  [Ljava/lang/Throwable;
            2   12     2        msgs  [Ljava/lang/String;
            3   11     3           i  I

  public java.lang.Throwable getThrowable(int);
    descriptor: (I)Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // int index
         0: .line 193
            iload 1 /* index */
            ifne 2
         1: .line 194
            aload 0 /* this */
            getfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
            areturn
         2: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.lang.exception.NestableDelegate.getThrowables:()[Ljava/lang/Throwable;
            astore 2 /* throwables */
        start local 2 // java.lang.Throwable[] throwables
         3: .line 197
            aload 2 /* throwables */
            iload 1 /* index */
            aaload
            areturn
        end local 2 // java.lang.Throwable[] throwables
        end local 1 // int index
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0    4     1       index  I
            3    4     2  throwables  [Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      index  

  public int getThrowableCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
         0: .line 208
            aload 0 /* this */
            getfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.getThrowableCount:(Ljava/lang/Throwable;)I
            ireturn
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang/exception/NestableDelegate;

  public java.lang.Throwable[] getThrowables();
    descriptor: ()[Ljava/lang/Throwable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
         0: .line 220
            aload 0 /* this */
            getfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.getThrowables:(Ljava/lang/Throwable;)[Ljava/lang/Throwable;
            areturn
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/lang/exception/NestableDelegate;

  public int indexOfThrowable(java.lang.Class, int);
    descriptor: (Ljava/lang/Class;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // java.lang.Class type
        start local 2 // int fromIndex
         0: .line 248
            aload 1 /* type */
            ifnonnull 2
         1: .line 249
            iconst_m1
            ireturn
         2: .line 251
      StackMap locals:
      StackMap stack:
            iload 2 /* fromIndex */
            ifge 4
         3: .line 252
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The start index was out of bounds: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* fromIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.getThrowables:(Ljava/lang/Throwable;)[Ljava/lang/Throwable;
            astore 3 /* throwables */
        start local 3 // java.lang.Throwable[] throwables
         5: .line 255
            iload 2 /* fromIndex */
            aload 3 /* throwables */
            arraylength
            if_icmplt 9
         6: .line 256
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The start index was out of bounds: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 257
            iload 2 /* fromIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " >= "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* throwables */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 256
            invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 259
      StackMap locals: java.lang.Throwable[]
      StackMap stack:
            getstatic org.apache.commons.lang.exception.NestableDelegate.matchSubclasses:Z
            ifeq 17
        10: .line 260
            iload 2 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
        11: goto 15
        12: .line 261
      StackMap locals: int
      StackMap stack:
            aload 1 /* type */
            aload 3 /* throwables */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 14
        13: .line 262
            iload 4 /* i */
            ireturn
        14: .line 260
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 3 /* throwables */
            arraylength
            if_icmplt 12
        end local 4 // int i
        16: .line 265
            goto 23
        17: .line 266
      StackMap locals:
      StackMap stack:
            iload 2 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
        18: goto 22
        19: .line 267
      StackMap locals: int
      StackMap stack:
            aload 1 /* type */
            aload 3 /* throwables */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 268
            iload 4 /* i */
            ireturn
        21: .line 266
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* throwables */
            arraylength
            if_icmplt 19
        end local 4 // int i
        23: .line 272
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        end local 3 // java.lang.Throwable[] throwables
        end local 2 // int fromIndex
        end local 1 // java.lang.Class type
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0   24     1        type  Ljava/lang/Class;
            0   24     2   fromIndex  I
            5   24     3  throwables  [Ljava/lang/Throwable;
           11   16     4           i  I
           18   23     4           i  I
    MethodParameters:
           Name  Flags
      type       
      fromIndex  

  public void printStackTrace();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
         0: .line 280
            aload 0 /* this */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual org.apache.commons.lang.exception.NestableDelegate.printStackTrace:(Ljava/io/PrintStream;)V
         1: .line 281
            return
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/lang/exception/NestableDelegate;

  public void printStackTrace(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // java.io.PrintStream out
         0: .line 291
            aload 1 /* out */
            dup
            astore 2
            monitorenter
         1: .line 292
            new java.io.PrintWriter
            dup
            aload 1 /* out */
            iconst_0
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;Z)V
            astore 3 /* pw */
        start local 3 // java.io.PrintWriter pw
         2: .line 293
            aload 0 /* this */
            aload 3 /* pw */
            invokevirtual org.apache.commons.lang.exception.NestableDelegate.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 295
            aload 3 /* pw */
            invokevirtual java.io.PrintWriter.flush:()V
        end local 3 // java.io.PrintWriter pw
         4: .line 291
            aload 2
            monitorexit
         5: goto 8
      StackMap locals: org.apache.commons.lang.exception.NestableDelegate java.io.PrintStream java.io.PrintStream
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.PrintStream out
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0    9     1   out  Ljava/io/PrintStream;
            2    4     3    pw  Ljava/io/PrintWriter;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
      Name  Flags
      out   

  public void printStackTrace(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // java.io.PrintWriter out
         0: .line 311
            aload 0 /* this */
            getfield org.apache.commons.lang.exception.NestableDelegate.nestable:Ljava/lang/Throwable;
            astore 2 /* throwable */
        start local 2 // java.lang.Throwable throwable
         1: .line 313
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.isThrowableNested:()Z
            ifeq 7
         2: .line 314
            aload 2 /* throwable */
            instanceof org.apache.commons.lang.exception.Nestable
            ifeq 5
         3: .line 315
            aload 2 /* throwable */
            checkcast org.apache.commons.lang.exception.Nestable
            aload 1 /* out */
            invokeinterface org.apache.commons.lang.exception.Nestable.printPartialStackTrace:(Ljava/io/PrintWriter;)V
         4: .line 316
            goto 6
         5: .line 317
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 2 /* throwable */
            aload 1 /* out */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         6: .line 319
      StackMap locals:
      StackMap stack:
            return
         7: .line 323
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* stacks */
        start local 3 // java.util.List stacks
         8: .line 324
            goto 12
         9: .line 325
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* throwable */
            invokevirtual org.apache.commons.lang.exception.NestableDelegate.getStackFrames:(Ljava/lang/Throwable;)[Ljava/lang/String;
            astore 4 /* st */
        start local 4 // java.lang.String[] st
        10: .line 326
            aload 3 /* stacks */
            aload 4 /* st */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 327
            aload 2 /* throwable */
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.getCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* throwable */
        end local 4 // java.lang.String[] st
        12: .line 324
      StackMap locals:
      StackMap stack:
            aload 2 /* throwable */
            ifnonnull 9
        13: .line 331
            ldc "Caused by: "
            astore 4 /* separatorLine */
        start local 4 // java.lang.String separatorLine
        14: .line 332
            getstatic org.apache.commons.lang.exception.NestableDelegate.topDown:Z
            ifne 17
        15: .line 333
            ldc "Rethrown as: "
            astore 4 /* separatorLine */
        16: .line 334
            aload 3 /* stacks */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
        17: .line 338
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.apache.commons.lang.exception.NestableDelegate.trimStackFrames:Z
            ifeq 19
        18: .line 339
            aload 0 /* this */
            aload 3 /* stacks */
            invokevirtual org.apache.commons.lang.exception.NestableDelegate.trimStackFrames:(Ljava/util/List;)V
        19: .line 342
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            dup
            astore 5
            monitorenter
        20: .line 343
            aload 3 /* stacks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
        21: goto 31
        22: .line 344
      StackMap locals: java.io.PrintWriter java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 7 /* st */
        start local 7 // java.lang.String[] st
        23: .line 345
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        24: aload 7 /* st */
            arraylength
            istore 9 /* len */
        start local 9 // int len
        25: goto 28
        26: .line 346
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 1 /* out */
            aload 7 /* st */
            iload 8 /* i */
            aaload
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        27: .line 345
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* i */
            iload 9 /* len */
            if_icmplt 26
        end local 9 // int len
        end local 8 // int i
        29: .line 348
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 31
        30: .line 349
            aload 1 /* out */
            aload 4 /* separatorLine */
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        end local 7 // java.lang.String[] st
        31: .line 343
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 6 // java.util.Iterator iter
        32: .line 342
            aload 5
            monitorexit
        33: goto 36
      StackMap locals: org.apache.commons.lang.exception.NestableDelegate java.io.PrintWriter java.lang.Throwable java.util.List java.lang.String java.io.PrintWriter
      StackMap stack: java.lang.Throwable
        34: aload 5
            monitorexit
        35: athrow
        36: .line 353
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String separatorLine
        end local 3 // java.util.List stacks
        end local 2 // java.lang.Throwable throwable
        end local 1 // java.io.PrintWriter out
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0   37     1            out  Ljava/io/PrintWriter;
            1   37     2      throwable  Ljava/lang/Throwable;
            8   37     3         stacks  Ljava/util/List;
           10   12     4             st  [Ljava/lang/String;
           14   37     4  separatorLine  Ljava/lang/String;
           21   32     6           iter  Ljava/util/Iterator;
           23   31     7             st  [Ljava/lang/String;
           24   29     8              i  I
           25   29     9            len  I
      Exception table:
        from    to  target  type
          20    33      34  any
          34    35      34  any
    MethodParameters:
      Name  Flags
      out   

  protected java.lang.String[] getStackFrames(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // java.lang.Throwable t
         0: .line 365
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 2 /* sw */
        start local 2 // java.io.StringWriter sw
         1: .line 366
            new java.io.PrintWriter
            dup
            aload 2 /* sw */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
            astore 3 /* pw */
        start local 3 // java.io.PrintWriter pw
         2: .line 369
            aload 1 /* t */
            instanceof org.apache.commons.lang.exception.Nestable
            ifeq 5
         3: .line 370
            aload 1 /* t */
            checkcast org.apache.commons.lang.exception.Nestable
            aload 3 /* pw */
            invokeinterface org.apache.commons.lang.exception.Nestable.printPartialStackTrace:(Ljava/io/PrintWriter;)V
         4: .line 371
            goto 6
         5: .line 372
      StackMap locals: java.io.StringWriter java.io.PrintWriter
      StackMap stack:
            aload 1 /* t */
            aload 3 /* pw */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         6: .line 374
      StackMap locals:
      StackMap stack:
            aload 2 /* sw */
            invokevirtual java.io.StringWriter.getBuffer:()Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.getStackFrames:(Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 3 // java.io.PrintWriter pw
        end local 2 // java.io.StringWriter sw
        end local 1 // java.lang.Throwable t
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0    7     1     t  Ljava/lang/Throwable;
            1    7     2    sw  Ljava/io/StringWriter;
            2    7     3    pw  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      t     

  protected void trimStackFrames(java.util.List);
    descriptor: (Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.apache.commons.lang.exception.NestableDelegate this
        start local 1 // java.util.List stacks
         0: .line 386
            aload 1 /* stacks */
            invokeinterface java.util.List.size:()I
            istore 2 /* size */
        start local 2 // int size
         1: iload 2 /* size */
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         2: goto 16
         3: .line 387
      StackMap locals: int int
      StackMap stack:
            aload 1 /* stacks */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 4 /* curr */
        start local 4 // java.lang.String[] curr
         4: .line 388
            aload 1 /* stacks */
            iload 3 /* i */
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* next */
        start local 5 // java.lang.String[] next
         5: .line 390
            new java.util.ArrayList
            dup
            aload 4 /* curr */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 6 /* currList */
        start local 6 // java.util.List currList
         6: .line 391
            new java.util.ArrayList
            dup
            aload 5 /* next */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 7 /* nextList */
        start local 7 // java.util.List nextList
         7: .line 392
            aload 6 /* currList */
            aload 7 /* nextList */
            invokestatic org.apache.commons.lang.exception.ExceptionUtils.removeCommonFrames:(Ljava/util/List;Ljava/util/List;)V
         8: .line 394
            aload 4 /* curr */
            arraylength
            aload 6 /* currList */
            invokeinterface java.util.List.size:()I
            isub
            istore 8 /* trimmed */
        start local 8 // int trimmed
         9: .line 395
            iload 8 /* trimmed */
            ifle 15
        10: .line 396
            aload 6 /* currList */
            new java.lang.StringBuilder
            dup
            ldc "\t... "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 8 /* trimmed */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " more"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 397
            aload 1 /* stacks */
        12: .line 398
            iload 3 /* i */
        13: .line 399
            aload 6 /* currList */
            aload 6 /* currList */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
        14: .line 397
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // int trimmed
        end local 7 // java.util.List nextList
        end local 6 // java.util.List currList
        end local 5 // java.lang.String[] next
        end local 4 // java.lang.String[] curr
        15: .line 386
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            ifgt 3
        end local 3 // int i
        end local 2 // int size
        17: .line 403
            return
        end local 1 // java.util.List stacks
        end local 0 // org.apache.commons.lang.exception.NestableDelegate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lorg/apache/commons/lang/exception/NestableDelegate;
            0   18     1    stacks  Ljava/util/List;
            1   17     2      size  I
            2   17     3         i  I
            4   15     4      curr  [Ljava/lang/String;
            5   15     5      next  [Ljava/lang/String;
            6   15     6  currList  Ljava/util/List;
            7   15     7  nextList  Ljava/util/List;
            9   15     8   trimmed  I
    MethodParameters:
        Name  Flags
      stacks  
}
SourceFile: "NestableDelegate.java"