public final class org.springframework.boot.util.LambdaSafe
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.springframework.boot.util.LambdaSafe
  super_class: java.lang.Object
{
  private static final java.lang.reflect.Method CLASS_GET_MODULE;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method MODULE_GET_NAME;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 51
            ldc Ljava/lang/Class;
            ldc "getModule"
            invokestatic org.springframework.util.ReflectionUtils.findMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
            putstatic org.springframework.boot.util.LambdaSafe.CLASS_GET_MODULE:Ljava/lang/reflect/Method;
         1: .line 52
            getstatic org.springframework.boot.util.LambdaSafe.CLASS_GET_MODULE:Ljava/lang/reflect/Method;
            ifnull 3
         2: .line 53
            getstatic org.springframework.boot.util.LambdaSafe.CLASS_GET_MODULE:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            ldc "getName"
            invokestatic org.springframework.util.ReflectionUtils.findMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Method;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aconst_null
         4: .line 52
      StackMap locals:
      StackMap stack: java.lang.reflect.Method
            putstatic org.springframework.boot.util.LambdaSafe.MODULE_GET_NAME:Ljava/lang/reflect/Method;
         5: .line 54
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.springframework.boot.util.LambdaSafe this
         0: .line 56
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            return
        end local 0 // org.springframework.boot.util.LambdaSafe this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/springframework/boot/util/LambdaSafe;

  public static <C, A> org.springframework.boot.util.LambdaSafe$Callback<C, A> callback(java.lang.Class<C>, C, A, []);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/springframework/boot/util/LambdaSafe$Callback;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Class callbackType
        start local 1 // java.lang.Object callbackInstance
        start local 2 // java.lang.Object argument
        start local 3 // java.lang.Object[] additionalArguments
         0: .line 73
            aload 0 /* callbackType */
            ldc "CallbackType must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 74
            aload 1 /* callbackInstance */
            ldc "CallbackInstance must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 75
            new org.springframework.boot.util.LambdaSafe$Callback
            dup
            aload 0 /* callbackType */
            aload 1 /* callbackInstance */
            aload 2 /* argument */
            aload 3 /* additionalArguments */
            invokespecial org.springframework.boot.util.LambdaSafe$Callback.<init>:(Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)V
            areturn
        end local 3 // java.lang.Object[] additionalArguments
        end local 2 // java.lang.Object argument
        end local 1 // java.lang.Object callbackInstance
        end local 0 // java.lang.Class callbackType
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0         callbackType  Ljava/lang/Class<TC;>;
            0    3     1     callbackInstance  TC;
            0    3     2             argument  TA;
            0    3     3  additionalArguments  [Ljava/lang/Object;
    Signature: <C:Ljava/lang/Object;A:Ljava/lang/Object;>(Ljava/lang/Class<TC;>;TC;TA;[Ljava/lang/Object;)Lorg/springframework/boot/util/LambdaSafe$Callback<TC;TA;>;
    MethodParameters:
                     Name  Flags
      callbackType         
      callbackInstance     
      argument             
      additionalArguments  

  public static <C, A> org.springframework.boot.util.LambdaSafe$Callbacks<C, A> callbacks(java.lang.Class<C>, java.util.Collection<? extends C>, A, []);
    descriptor: (Ljava/lang/Class;Ljava/util/Collection;Ljava/lang/Object;[Ljava/lang/Object;)Lorg/springframework/boot/util/LambdaSafe$Callbacks;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.Class callbackType
        start local 1 // java.util.Collection callbackInstances
        start local 2 // java.lang.Object argument
        start local 3 // java.lang.Object[] additionalArguments
         0: .line 92
            aload 0 /* callbackType */
            ldc "CallbackType must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 93
            aload 1 /* callbackInstances */
            ldc "CallbackInstances must not be null"
            invokestatic org.springframework.util.Assert.notNull:(Ljava/lang/Object;Ljava/lang/String;)V
         2: .line 94
            new org.springframework.boot.util.LambdaSafe$Callbacks
            dup
            aload 0 /* callbackType */
            aload 1 /* callbackInstances */
            aload 2 /* argument */
            aload 3 /* additionalArguments */
            invokespecial org.springframework.boot.util.LambdaSafe$Callbacks.<init>:(Ljava/lang/Class;Ljava/util/Collection;Ljava/lang/Object;[Ljava/lang/Object;)V
            areturn
        end local 3 // java.lang.Object[] additionalArguments
        end local 2 // java.lang.Object argument
        end local 1 // java.util.Collection callbackInstances
        end local 0 // java.lang.Class callbackType
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0         callbackType  Ljava/lang/Class<TC;>;
            0    3     1    callbackInstances  Ljava/util/Collection<+TC;>;
            0    3     2             argument  TA;
            0    3     3  additionalArguments  [Ljava/lang/Object;
    Signature: <C:Ljava/lang/Object;A:Ljava/lang/Object;>(Ljava/lang/Class<TC;>;Ljava/util/Collection<+TC;>;TA;[Ljava/lang/Object;)Lorg/springframework/boot/util/LambdaSafe$Callbacks<TC;TA;>;
    MethodParameters:
                     Name  Flags
      callbackType         
      callbackInstances    
      argument             
      additionalArguments  
}
SourceFile: "LambdaSafe.java"
NestMembers:
  org.springframework.boot.util.LambdaSafe$Callback  org.springframework.boot.util.LambdaSafe$Callbacks  org.springframework.boot.util.LambdaSafe$Filter  org.springframework.boot.util.LambdaSafe$GenericTypeFilter  org.springframework.boot.util.LambdaSafe$InvocationResult  org.springframework.boot.util.LambdaSafe$LambdaSafeCallback
InnerClasses:
  public final Callback = org.springframework.boot.util.LambdaSafe$Callback of org.springframework.boot.util.LambdaSafe
  public final Callbacks = org.springframework.boot.util.LambdaSafe$Callbacks of org.springframework.boot.util.LambdaSafe
  abstract Filter = org.springframework.boot.util.LambdaSafe$Filter of org.springframework.boot.util.LambdaSafe
  private GenericTypeFilter = org.springframework.boot.util.LambdaSafe$GenericTypeFilter of org.springframework.boot.util.LambdaSafe
  public final InvocationResult = org.springframework.boot.util.LambdaSafe$InvocationResult of org.springframework.boot.util.LambdaSafe
  protected abstract LambdaSafeCallback = org.springframework.boot.util.LambdaSafe$LambdaSafeCallback of org.springframework.boot.util.LambdaSafe