public abstract class org.springframework.core.NestedExceptionUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.springframework.core.NestedExceptionUtils
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.core.NestedExceptionUtils this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.springframework.core.NestedExceptionUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/springframework/core/NestedExceptionUtils;

  public static java.lang.String buildMessage(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable cause
         0: .line 45
            aload 1 /* cause */
            ifnonnull 2
         1: .line 46
            aload 0 /* message */
            areturn
         2: .line 48
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 64
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         3: .line 49
            aload 0 /* message */
            ifnull 5
         4: .line 50
            aload 2 /* sb */
            aload 0 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 52
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 2 /* sb */
            ldc "nested exception is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* cause */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         6: .line 53
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  message  Ljava/lang/String;
            0    7     1    cause  Ljava/lang/Throwable;
            3    7     2       sb  Ljava/lang/StringBuilder;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
      1:
        org.springframework.lang.Nullable()
    MethodParameters:
         Name  Flags
      message  
      cause    

  public static java.lang.Throwable getRootCause(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.Throwable original
         0: .line 64
            aload 0 /* original */
            ifnonnull 2
         1: .line 65
            aconst_null
            areturn
         2: .line 67
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* rootCause */
        start local 1 // java.lang.Throwable rootCause
         3: .line 68
            aload 0 /* original */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         4: .line 69
            goto 7
         5: .line 70
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
            aload 2 /* cause */
            astore 1 /* rootCause */
         6: .line 71
            aload 2 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 2 /* cause */
         7: .line 69
      StackMap locals:
      StackMap stack:
            aload 2 /* cause */
            ifnull 8
            aload 2 /* cause */
            aload 1 /* rootCause */
            if_acmpne 5
         8: .line 73
      StackMap locals:
      StackMap stack:
            aload 1 /* rootCause */
            areturn
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.Throwable rootCause
        end local 0 // java.lang.Throwable original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0   original  Ljava/lang/Throwable;
            3    9     1  rootCause  Ljava/lang/Throwable;
            4    9     2      cause  Ljava/lang/Throwable;
    RuntimeVisibleAnnotations: 
      org.springframework.lang.Nullable()
    RuntimeVisibleParameterAnnotations: 
      0:
        org.springframework.lang.Nullable()
    MethodParameters:
          Name  Flags
      original  

  public static java.lang.Throwable getMostSpecificCause(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Throwable original
         0: .line 86
            aload 0 /* original */
            invokestatic org.springframework.core.NestedExceptionUtils.getRootCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            astore 1 /* rootCause */
        start local 1 // java.lang.Throwable rootCause
         1: .line 87
            aload 1 /* rootCause */
            ifnull 2
            aload 1 /* rootCause */
            goto 3
      StackMap locals: java.lang.Throwable
      StackMap stack:
         2: aload 0 /* original */
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: areturn
        end local 1 // java.lang.Throwable rootCause
        end local 0 // java.lang.Throwable original
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0   original  Ljava/lang/Throwable;
            1    4     1  rootCause  Ljava/lang/Throwable;
    MethodParameters:
          Name  Flags
      original  
}
SourceFile: "NestedExceptionUtils.java"