public class org.codehaus.plexus.util.ExceptionUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.codehaus.plexus.util.ExceptionUtils
  super_class: java.lang.Object
{
  static final java.lang.String WRAPPED_MARKER;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: " [wrapped] "

  protected static java.lang.String[] CAUSE_METHOD_NAMES;
    descriptor: [Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 92
            bipush 8
            anewarray java.lang.String
            dup
            iconst_0
            ldc "getCause"
            aastore
            dup
            iconst_1
            ldc "getNextException"
            aastore
            dup
            iconst_2
            ldc "getTargetException"
            aastore
            dup
            iconst_3
         1: .line 93
            ldc "getException"
            aastore
            dup
            iconst_4
            ldc "getSourceException"
            aastore
            dup
            iconst_5
            ldc "getRootCause"
            aastore
            dup
            bipush 6
            ldc "getCausedByException"
            aastore
            dup
            bipush 7
            ldc "getNested"
            aastore
         2: .line 92
            putstatic org.codehaus.plexus.util.ExceptionUtils.CAUSE_METHOD_NAMES:[Ljava/lang/String;
         3: .line 93
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.codehaus.plexus.util.ExceptionUtils this
         0: .line 98
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 100
            return
        end local 0 // org.codehaus.plexus.util.ExceptionUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/codehaus/plexus/util/ExceptionUtils;

  public static void addCauseMethodName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String methodName
         0: .line 111
            aload 0 /* methodName */
            ifnull 4
            aload 0 /* methodName */
            invokevirtual java.lang.String.length:()I
            ifle 4
         1: .line 113
            new java.util.ArrayList
            dup
            getstatic org.codehaus.plexus.util.ExceptionUtils.CAUSE_METHOD_NAMES:[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* list */
        start local 1 // java.util.List list
         2: .line 114
            aload 1 /* list */
            aload 0 /* methodName */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 115
            aload 1 /* list */
            aload 1 /* list */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            putstatic org.codehaus.plexus.util.ExceptionUtils.CAUSE_METHOD_NAMES:[Ljava/lang/String;
        end local 1 // java.util.List list
         4: .line 117
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String methodName
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  methodName  Ljava/lang/String;
            2    4     1        list  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      methodName  

  public static java.lang.Throwable getCause(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 152
            aload 0 /* throwable */
            getstatic org.codehaus.plexus.util.ExceptionUtils.CAUSE_METHOD_NAMES:[Ljava/lang/String;
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCause:(Ljava/lang/Throwable;[Ljava/lang/String;)Ljava/lang/Throwable;
            areturn
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  throwable  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      throwable  

  public static java.lang.Throwable getCause(java.lang.Throwable, java.lang.String[]);
    descriptor: (Ljava/lang/Throwable;[Ljava/lang/String;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.Throwable throwable
        start local 1 // java.lang.String[] methodNames
         0: .line 167
            aload 0 /* throwable */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCauseUsingWellKnownTypes:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         1: .line 168
            aload 2 /* cause */
            ifnonnull 11
         2: .line 170
            aload 1 /* methodNames */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: java.lang.Throwable java.lang.String[] java.lang.Throwable top int int java.lang.String[]
      StackMap stack:
         3: aload 6
            iload 4
            aaload
            astore 3 /* methodName */
        start local 3 // java.lang.String methodName
         4: .line 172
            aload 0 /* throwable */
            aload 3 /* methodName */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCauseUsingMethodName:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Throwable;
            astore 2 /* cause */
         5: .line 173
            aload 2 /* cause */
            ifnull 7
         6: .line 175
            goto 9
        end local 3 // java.lang.String methodName
         7: .line 170
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 3
         9: .line 179
      StackMap locals: java.lang.Throwable java.lang.String[] java.lang.Throwable
      StackMap stack:
            aload 2 /* cause */
            ifnonnull 11
        10: .line 181
            aload 0 /* throwable */
            ldc "detail"
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCauseUsingFieldName:(Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Throwable;
            astore 2 /* cause */
        11: .line 184
      StackMap locals:
      StackMap stack:
            aload 2 /* cause */
            areturn
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.String[] methodNames
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0    throwable  Ljava/lang/Throwable;
            0   12     1  methodNames  [Ljava/lang/String;
            1   12     2        cause  Ljava/lang/Throwable;
            4    7     3   methodName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      throwable    
      methodNames  

  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=2, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 198
            aload 0 /* throwable */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* cause */
        start local 1 // java.lang.Throwable cause
         1: .line 199
            aload 1 /* cause */
            ifnull 6
         2: .line 201
            aload 1 /* cause */
            astore 0 /* throwable */
         3: .line 202
            goto 5
         4: .line 204
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* throwable */
            astore 1 /* cause */
         5: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* throwable */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            dup
            astore 0 /* throwable */
            ifnonnull 4
         6: .line 207
      StackMap locals:
      StackMap stack:
            aload 1 /* cause */
            areturn
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  throwable  Ljava/lang/Throwable;
            1    7     1      cause  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      throwable  

  private static java.lang.Throwable getCauseUsingWellKnownTypes(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 221
            aload 0 /* throwable */
            instanceof java.sql.SQLException
            ifeq 2
         1: .line 223
            aload 0 /* throwable */
            checkcast java.sql.SQLException
            invokevirtual java.sql.SQLException.getNextException:()Ljava/sql/SQLException;
            areturn
         2: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* throwable */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 4
         3: .line 227
            aload 0 /* throwable */
            checkcast java.lang.reflect.InvocationTargetException
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            areturn
         4: .line 231
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  throwable  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      throwable  

  private static java.lang.Throwable getCauseUsingMethodName(java.lang.Throwable, java.lang.String);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Throwable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.Throwable throwable
        start local 1 // java.lang.String methodName
         0: .line 246
            aconst_null
            astore 2 /* method */
        start local 2 // java.lang.reflect.Method method
         1: .line 249
            aload 0 /* throwable */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* methodName */
            aconst_null
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* method */
         2: .line 250
            goto 5
         3: .line 251
      StackMap locals: java.lang.Throwable java.lang.String java.lang.reflect.Method
      StackMap stack: java.lang.NoSuchMethodException
            pop
            goto 5
         4: .line 254
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
         5: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* method */
            ifnull 11
            ldc Ljava/lang/Throwable;
            aload 2 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 11
         6: .line 262
            aload 2 /* method */
            aload 0 /* throwable */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Throwable
         7: areturn
         8: .line 264
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
            goto 11
         9: .line 267
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
            goto 11
        10: .line 270
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            pop
        11: .line 274
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.String methodName
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0   throwable  Ljava/lang/Throwable;
            0   12     1  methodName  Ljava/lang/String;
            1   12     2      method  Ljava/lang/reflect/Method;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.NoSuchMethodException
           1     2       4  Class java.lang.SecurityException
           6     7       8  Class java.lang.IllegalAccessException
           6     7       9  Class java.lang.IllegalArgumentException
           6     7      10  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
            Name  Flags
      throwable   
      methodName  

  private static java.lang.Throwable getCauseUsingFieldName(java.lang.Throwable, java.lang.String);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/String;)Ljava/lang/Throwable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.Throwable throwable
        start local 1 // java.lang.String fieldName
         0: .line 288
            aconst_null
            astore 2 /* field */
        start local 2 // java.lang.reflect.Field field
         1: .line 291
            aload 0 /* throwable */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* fieldName */
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 2 /* field */
         2: .line 292
            goto 5
         3: .line 293
      StackMap locals: java.lang.Throwable java.lang.String java.lang.reflect.Field
      StackMap stack: java.lang.NoSuchFieldException
            pop
            goto 5
         4: .line 296
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
         5: .line 300
      StackMap locals:
      StackMap stack:
            aload 2 /* field */
            ifnull 10
            ldc Ljava/lang/Throwable;
            aload 2 /* field */
            invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 10
         6: .line 304
            aload 2 /* field */
            aload 0 /* throwable */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Throwable
         7: areturn
         8: .line 306
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            pop
            goto 10
         9: .line 309
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            pop
        10: .line 313
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.reflect.Field field
        end local 1 // java.lang.String fieldName
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0  throwable  Ljava/lang/Throwable;
            0   11     1  fieldName  Ljava/lang/String;
            1   11     2      field  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.NoSuchFieldException
           1     2       4  Class java.lang.SecurityException
           6     7       8  Class java.lang.IllegalAccessException
           6     7       9  Class java.lang.IllegalArgumentException
    MethodParameters:
           Name  Flags
      throwable  
      fieldName  

  public static int getThrowableCount(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 327
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 328
            goto 4
         2: .line 330
      StackMap locals: int
      StackMap stack:
            iinc 1 /* count */ 1
         3: .line 331
            aload 0 /* throwable */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 0 /* throwable */
         4: .line 328
      StackMap locals:
      StackMap stack:
            aload 0 /* throwable */
            ifnonnull 2
         5: .line 333
            iload 1 /* count */
            ireturn
        end local 1 // int count
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  throwable  Ljava/lang/Throwable;
            1    6     1      count  I
    MethodParameters:
           Name  Flags
      throwable  

  public static java.lang.Throwable[] getThrowables(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)[Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 346
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // java.util.List list
         1: .line 347
            goto 4
         2: .line 349
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* list */
            aload 0 /* throwable */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 350
            aload 0 /* throwable */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 0 /* throwable */
         4: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* throwable */
            ifnonnull 2
         5: .line 352
            aload 1 /* list */
            aload 1 /* list */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.Throwable
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Throwable[]
            areturn
        end local 1 // java.util.List list
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  throwable  Ljava/lang/Throwable;
            1    6     1       list  Ljava/util/List<Ljava/lang/Throwable;>;
    MethodParameters:
           Name  Flags
      throwable  

  public static int indexOfThrowable(java.lang.Throwable, java.lang.Class);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Class;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Throwable throwable
        start local 1 // java.lang.Class type
         0: .line 365
            aload 0 /* throwable */
            aload 1 /* type */
            iconst_0
            invokestatic org.codehaus.plexus.util.ExceptionUtils.indexOfThrowable:(Ljava/lang/Throwable;Ljava/lang/Class;I)I
            ireturn
        end local 1 // java.lang.Class type
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  throwable  Ljava/lang/Throwable;
            0    1     1       type  Ljava/lang/Class;
    MethodParameters:
           Name  Flags
      throwable  
      type       

  public static int indexOfThrowable(java.lang.Throwable, java.lang.Class, int);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Class;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.Throwable throwable
        start local 1 // java.lang.Class type
        start local 2 // int fromIndex
         0: .line 384
            iload 2 /* fromIndex */
            ifge 2
         1: .line 386
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Throwable index out of range: "
            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
         2: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* throwable */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getThrowables:(Ljava/lang/Throwable;)[Ljava/lang/Throwable;
            astore 3 /* throwables */
        start local 3 // java.lang.Throwable[] throwables
         3: .line 389
            iload 2 /* fromIndex */
            aload 3 /* throwables */
            arraylength
            if_icmplt 5
         4: .line 391
            new java.lang.IndexOutOfBoundsException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Throwable index out of range: "
            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
         5: .line 393
      StackMap locals: java.lang.Throwable[]
      StackMap stack:
            iload 2 /* fromIndex */
            istore 4 /* i */
        start local 4 // int i
         6: goto 10
         7: .line 395
      StackMap locals: int
      StackMap stack:
            aload 3 /* throwables */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 397
            iload 4 /* i */
            ireturn
         9: .line 393
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 3 /* throwables */
            arraylength
            if_icmplt 7
        end local 4 // int i
        11: .line 400
            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 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0   throwable  Ljava/lang/Throwable;
            0   12     1        type  Ljava/lang/Class;
            0   12     2   fromIndex  I
            3   12     3  throwables  [Ljava/lang/Throwable;
            6   11     4           i  I
    MethodParameters:
           Name  Flags
      throwable  
      type       
      fromIndex  

  public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintStream);
    descriptor: (Ljava/lang/Throwable;Ljava/io/PrintStream;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.Throwable t
        start local 1 // java.io.PrintStream stream
         0: .line 412
            aload 0 /* t */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getRootCauseStackTrace:(Ljava/lang/Throwable;)[Ljava/lang/String;
            astore 2 /* trace */
        start local 2 // java.lang.String[] trace
         1: .line 413
            aload 2 /* trace */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: java.lang.Throwable java.io.PrintStream java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* aTrace */
        start local 3 // java.lang.String aTrace
         3: .line 415
            aload 1 /* stream */
            aload 3 /* aTrace */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // java.lang.String aTrace
         4: .line 413
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 417
            aload 1 /* stream */
            invokevirtual java.io.PrintStream.flush:()V
         7: .line 418
            return
        end local 2 // java.lang.String[] trace
        end local 1 // java.io.PrintStream stream
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0       t  Ljava/lang/Throwable;
            0    8     1  stream  Ljava/io/PrintStream;
            1    8     2   trace  [Ljava/lang/String;
            3    4     3  aTrace  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      t       
      stream  

  public static void printRootCauseStackTrace(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 425
            aload 0 /* t */
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokestatic org.codehaus.plexus.util.ExceptionUtils.printRootCauseStackTrace:(Ljava/lang/Throwable;Ljava/io/PrintStream;)V
         1: .line 426
            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     

  public static void printRootCauseStackTrace(java.lang.Throwable, java.io.PrintWriter);
    descriptor: (Ljava/lang/Throwable;Ljava/io/PrintWriter;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.Throwable t
        start local 1 // java.io.PrintWriter writer
         0: .line 433
            aload 0 /* t */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getRootCauseStackTrace:(Ljava/lang/Throwable;)[Ljava/lang/String;
            astore 2 /* trace */
        start local 2 // java.lang.String[] trace
         1: .line 434
            aload 2 /* trace */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: java.lang.Throwable java.io.PrintWriter java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* aTrace */
        start local 3 // java.lang.String aTrace
         3: .line 436
            aload 1 /* writer */
            aload 3 /* aTrace */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 3 // java.lang.String aTrace
         4: .line 434
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 438
            aload 1 /* writer */
            invokevirtual java.io.PrintWriter.flush:()V
         7: .line 439
            return
        end local 2 // java.lang.String[] trace
        end local 1 // java.io.PrintWriter writer
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0       t  Ljava/lang/Throwable;
            0    8     1  writer  Ljava/io/PrintWriter;
            1    8     2   trace  [Ljava/lang/String;
            3    4     3  aTrace  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      t       
      writer  

  public static java.lang.String[] getRootCauseStackTrace(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 447
            aload 0 /* t */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getThrowables:(Ljava/lang/Throwable;)[Ljava/lang/Throwable;
            astore 1 /* throwables */
        start local 1 // java.lang.Throwable[] throwables
         1: .line 448
            aload 1 /* throwables */
            arraylength
            istore 2 /* count */
        start local 2 // int count
         2: .line 449
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* frames */
        start local 3 // java.util.ArrayList frames
         3: .line 450
            aload 1 /* throwables */
            iload 2 /* count */
            iconst_1
            isub
            aaload
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getStackFrameList:(Ljava/lang/Throwable;)Ljava/util/List;
            astore 4 /* nextTrace */
        start local 4 // java.util.List nextTrace
         4: .line 451
            iload 2 /* count */
            istore 5 /* i */
        start local 5 // int i
         5: goto 18
         6: .line 453
      StackMap locals: java.lang.Throwable java.lang.Throwable[] int java.util.ArrayList java.util.List int
      StackMap stack:
            aload 4 /* nextTrace */
            astore 6 /* trace */
        start local 6 // java.util.List trace
         7: .line 454
            iload 5 /* i */
            ifeq 10
         8: .line 456
            aload 1 /* throwables */
            iload 5 /* i */
            iconst_1
            isub
            aaload
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getStackFrameList:(Ljava/lang/Throwable;)Ljava/util/List;
            astore 4 /* nextTrace */
         9: .line 457
            aload 6 /* trace */
            aload 4 /* nextTrace */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.removeCommonFrames:(Ljava/util/List;Ljava/util/List;)V
        10: .line 459
      StackMap locals: java.util.List
      StackMap stack:
            iload 5 /* i */
            iload 2 /* count */
            iconst_1
            isub
            if_icmpne 13
        11: .line 461
            aload 3 /* frames */
            aload 1 /* throwables */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        12: .line 462
            goto 14
        13: .line 465
      StackMap locals:
      StackMap stack:
            aload 3 /* frames */
            new java.lang.StringBuilder
            dup
            ldc " [wrapped] "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* throwables */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 467
      StackMap locals:
      StackMap stack:
            aload 6 /* trace */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 17
      StackMap locals: java.lang.Throwable java.lang.Throwable[] int java.util.ArrayList java.util.List int java.util.List top java.util.Iterator
      StackMap stack:
        15: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* aTrace */
        start local 7 // java.lang.String aTrace
        16: .line 469
            aload 3 /* frames */
            aload 7 /* aTrace */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String aTrace
        17: .line 467
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 6 // java.util.List trace
        18: .line 451
      StackMap locals: java.lang.Throwable java.lang.Throwable[] int java.util.ArrayList java.util.List int
      StackMap stack:
            iinc 5 /* i */ -1
            iload 5 /* i */
            ifge 6
        end local 5 // int i
        19: .line 472
            aload 3 /* frames */
            aload 3 /* frames */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 4 // java.util.List nextTrace
        end local 3 // java.util.ArrayList frames
        end local 2 // int count
        end local 1 // java.lang.Throwable[] throwables
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0           t  Ljava/lang/Throwable;
            1   20     1  throwables  [Ljava/lang/Throwable;
            2   20     2       count  I
            3   20     3      frames  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   20     4   nextTrace  Ljava/util/List<Ljava/lang/String;>;
            5   19     5           i  I
            7   18     6       trace  Ljava/util/List<Ljava/lang/String;>;
           16   17     7      aTrace  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      t     

  private static void removeCommonFrames(java.util.List<java.lang.String>, java.util.List<java.lang.String>);
    descriptor: (Ljava/util/List;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.util.List causeFrames
        start local 1 // java.util.List wrapperFrames
         0: .line 483
            aload 0 /* causeFrames */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 2 /* causeFrameIndex */
        start local 2 // int causeFrameIndex
         1: .line 484
            aload 1 /* wrapperFrames */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 3 /* wrapperFrameIndex */
        start local 3 // int wrapperFrameIndex
         2: .line 485
            goto 9
         3: .line 489
      StackMap locals: int int
      StackMap stack:
            aload 0 /* causeFrames */
            iload 2 /* causeFrameIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* causeFrame */
        start local 4 // java.lang.String causeFrame
         4: .line 490
            aload 1 /* wrapperFrames */
            iload 3 /* wrapperFrameIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* wrapperFrame */
        start local 5 // java.lang.String wrapperFrame
         5: .line 491
            aload 4 /* causeFrame */
            aload 5 /* wrapperFrame */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 493
            aload 0 /* causeFrames */
            iload 2 /* causeFrameIndex */
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            pop
         7: .line 495
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iinc 2 /* causeFrameIndex */ -1
         8: .line 496
            iinc 3 /* wrapperFrameIndex */ -1
        end local 5 // java.lang.String wrapperFrame
        end local 4 // java.lang.String causeFrame
         9: .line 485
      StackMap locals:
      StackMap stack:
            iload 2 /* causeFrameIndex */
            iflt 10
            iload 3 /* wrapperFrameIndex */
            ifge 3
        10: .line 498
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int wrapperFrameIndex
        end local 2 // int causeFrameIndex
        end local 1 // java.util.List wrapperFrames
        end local 0 // java.util.List causeFrames
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0        causeFrames  Ljava/util/List<Ljava/lang/String;>;
            0   11     1      wrapperFrames  Ljava/util/List<Ljava/lang/String;>;
            1   11     2    causeFrameIndex  I
            2   11     3  wrapperFrameIndex  I
            4    9     4         causeFrame  Ljava/lang/String;
            5    9     5       wrapperFrame  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;Ljava/util/List<Ljava/lang/String;>;)V
    MethodParameters:
               Name  Flags
      causeFrames    
      wrapperFrames  

  public static java.lang.String getStackTrace(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 508
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 1 /* sw */
        start local 1 // java.io.StringWriter sw
         1: .line 509
            new java.io.PrintWriter
            dup
            aload 1 /* sw */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
            astore 2 /* pw */
        start local 2 // java.io.PrintWriter pw
         2: .line 510
            aload 0 /* t */
            aload 2 /* pw */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 511
            aload 1 /* sw */
            invokevirtual java.io.StringWriter.getBuffer:()Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.io.StringWriter sw
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0     t  Ljava/lang/Throwable;
            1    4     1    sw  Ljava/io/StringWriter;
            2    4     2    pw  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      t     

  public static java.lang.String getFullStackTrace(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 522
            new java.io.StringWriter
            dup
            invokespecial java.io.StringWriter.<init>:()V
            astore 1 /* sw */
        start local 1 // java.io.StringWriter sw
         1: .line 523
            new java.io.PrintWriter
            dup
            aload 1 /* sw */
            iconst_1
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
            astore 2 /* pw */
        start local 2 // java.io.PrintWriter pw
         2: .line 524
            aload 0 /* t */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getThrowables:(Ljava/lang/Throwable;)[Ljava/lang/Throwable;
            astore 3 /* ts */
        start local 3 // java.lang.Throwable[] ts
         3: .line 525
            aload 3 /* ts */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: java.lang.Throwable java.io.StringWriter java.io.PrintWriter java.lang.Throwable[] top int int java.lang.Throwable[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* t1 */
        start local 4 // java.lang.Throwable t1
         5: .line 527
            aload 4 /* t1 */
            aload 2 /* pw */
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         6: .line 528
            aload 4 /* t1 */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.isNestedThrowable:(Ljava/lang/Throwable;)Z
            ifeq 8
         7: .line 530
            goto 10
        end local 4 // java.lang.Throwable t1
         8: .line 525
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 4
        10: .line 533
      StackMap locals: java.lang.Throwable java.io.StringWriter java.io.PrintWriter java.lang.Throwable[]
      StackMap stack:
            aload 1 /* sw */
            invokevirtual java.io.StringWriter.getBuffer:()Ljava/lang/StringBuffer;
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.Throwable[] ts
        end local 2 // java.io.PrintWriter pw
        end local 1 // java.io.StringWriter sw
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     t  Ljava/lang/Throwable;
            1   11     1    sw  Ljava/io/StringWriter;
            2   11     2    pw  Ljava/io/PrintWriter;
            3   11     3    ts  [Ljava/lang/Throwable;
            5    8     4    t1  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public static boolean isNestedThrowable(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // java.lang.Throwable throwable
         0: .line 544
            aload 0 /* throwable */
            ifnonnull 2
         1: .line 546
            iconst_0
            ireturn
         2: .line 549
      StackMap locals:
      StackMap stack:
            aload 0 /* throwable */
            instanceof java.sql.SQLException
            ifeq 4
         3: .line 551
            iconst_1
            ireturn
         4: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* throwable */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 6
         5: .line 555
            iconst_1
            ireturn
         6: .line 558
      StackMap locals:
      StackMap stack:
            getstatic org.codehaus.plexus.util.ExceptionUtils.CAUSE_METHOD_NAMES:[Ljava/lang/String;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 14
      StackMap locals: java.lang.Throwable top int int java.lang.String[]
      StackMap stack:
         7: aload 4
            iload 2
            aaload
            astore 1 /* CAUSE_METHOD_NAME */
        start local 1 // java.lang.String CAUSE_METHOD_NAME
         8: .line 562
            aload 0 /* throwable */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* CAUSE_METHOD_NAME */
            aconst_null
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 5 /* method */
        start local 5 // java.lang.reflect.Method method
         9: .line 563
            aload 5 /* method */
            ifnull 13
        10: .line 565
            iconst_1
            ireturn
        end local 5 // java.lang.reflect.Method method
        11: .line 568
      StackMap locals: java.lang.Throwable java.lang.String int int java.lang.String[]
      StackMap stack: java.lang.NoSuchMethodException
            pop
            goto 13
        12: .line 571
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
        end local 1 // java.lang.String CAUSE_METHOD_NAME
        13: .line 558
      StackMap locals: java.lang.Throwable top int int java.lang.String[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        14: iload 2
            iload 3
            if_icmplt 7
        15: .line 578
            aload 0 /* throwable */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc "detail"
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            astore 1 /* field */
        start local 1 // java.lang.reflect.Field field
        16: .line 579
            aload 1 /* field */
            ifnull 20
        17: .line 581
            iconst_1
            ireturn
        end local 1 // java.lang.reflect.Field field
        18: .line 584
      StackMap locals: java.lang.Throwable
      StackMap stack: java.lang.NoSuchFieldException
            pop
            goto 20
        19: .line 587
      StackMap locals:
      StackMap stack: java.lang.SecurityException
            pop
        20: .line 591
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Throwable throwable
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   21     0          throwable  Ljava/lang/Throwable;
            8   13     1  CAUSE_METHOD_NAME  Ljava/lang/String;
            9   11     5             method  Ljava/lang/reflect/Method;
           16   18     1              field  Ljava/lang/reflect/Field;
      Exception table:
        from    to  target  type
           8    10      11  Class java.lang.NoSuchMethodException
           8    10      12  Class java.lang.SecurityException
          15    17      18  Class java.lang.NoSuchFieldException
          15    17      19  Class java.lang.SecurityException
    MethodParameters:
           Name  Flags
      throwable  

  public static java.lang.String[] getStackFrames(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 603
            aload 0 /* t */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getStackTrace:(Ljava/lang/Throwable;)Ljava/lang/String;
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getStackFrames:(Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  static java.lang.String[] getStackFrames(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String stackTrace
         0: .line 611
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* linebreak */
        start local 1 // java.lang.String linebreak
         1: .line 612
            new java.util.StringTokenizer
            dup
            aload 0 /* stackTrace */
            aload 1 /* linebreak */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* frames */
        start local 2 // java.util.StringTokenizer frames
         2: .line 613
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.List list
         3: .line 614
            goto 5
         4: .line 616
      StackMap locals: java.lang.String java.util.StringTokenizer java.util.List
      StackMap stack:
            aload 3 /* list */
            aload 2 /* frames */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 614
      StackMap locals:
      StackMap stack:
            aload 2 /* frames */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
         6: .line 618
            aload 3 /* list */
            aload 3 /* list */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 3 // java.util.List list
        end local 2 // java.util.StringTokenizer frames
        end local 1 // java.lang.String linebreak
        end local 0 // java.lang.String stackTrace
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0  stackTrace  Ljava/lang/String;
            1    7     1   linebreak  Ljava/lang/String;
            2    7     2      frames  Ljava/util/StringTokenizer;
            3    7     3        list  Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      stackTrace  

  static java.util.List<java.lang.String> getStackFrameList(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 630
            aload 0 /* t */
            invokestatic org.codehaus.plexus.util.ExceptionUtils.getStackTrace:(Ljava/lang/Throwable;)Ljava/lang/String;
            astore 1 /* stackTrace */
        start local 1 // java.lang.String stackTrace
         1: .line 631
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* linebreak */
        start local 2 // java.lang.String linebreak
         2: .line 632
            new java.util.StringTokenizer
            dup
            aload 1 /* stackTrace */
            aload 2 /* linebreak */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* frames */
        start local 3 // java.util.StringTokenizer frames
         3: .line 633
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 4 /* list */
        start local 4 // java.util.List list
         4: .line 634
            iconst_0
            istore 5 /* traceStarted */
        start local 5 // boolean traceStarted
         5: .line 635
            goto 14
         6: .line 637
      StackMap locals: java.lang.Throwable java.lang.String java.lang.String java.util.StringTokenizer java.util.List int
      StackMap stack:
            aload 3 /* frames */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 6 /* token */
        start local 6 // java.lang.String token
         7: .line 639
            aload 6 /* token */
            ldc "at"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 7 /* at */
        start local 7 // int at
         8: .line 640
            iload 7 /* at */
            iconst_m1
            if_icmpeq 12
            aload 6 /* token */
            iconst_0
            iload 7 /* at */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifne 12
         9: .line 642
            iconst_1
            istore 5 /* traceStarted */
        10: .line 643
            aload 4 /* list */
            aload 6 /* token */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 644
            goto 14
        12: .line 645
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 5 /* traceStarted */
            ifeq 14
        13: .line 647
            goto 15
        end local 7 // int at
        end local 6 // java.lang.String token
        14: .line 635
      StackMap locals:
      StackMap stack:
            aload 3 /* frames */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 6
        15: .line 650
      StackMap locals:
      StackMap stack:
            aload 4 /* list */
            areturn
        end local 5 // boolean traceStarted
        end local 4 // java.util.List list
        end local 3 // java.util.StringTokenizer frames
        end local 2 // java.lang.String linebreak
        end local 1 // java.lang.String stackTrace
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0             t  Ljava/lang/Throwable;
            1   16     1    stackTrace  Ljava/lang/String;
            2   16     2     linebreak  Ljava/lang/String;
            3   16     3        frames  Ljava/util/StringTokenizer;
            4   16     4          list  Ljava/util/List<Ljava/lang/String;>;
            5   16     5  traceStarted  Z
            7   14     6         token  Ljava/lang/String;
            8   14     7            at  I
    Signature: (Ljava/lang/Throwable;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
      Name  Flags
      t     
}
SourceFile: "ExceptionUtils.java"