public class org.junit.jupiter.engine.execution.ExecutableInvoker
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.junit.jupiter.engine.execution.ExecutableInvoker
  super_class: java.lang.Object
{
  private static final org.junit.platform.commons.logging.Logger logger;
    descriptor: Lorg/junit/platform/commons/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.junit.jupiter.engine.execution.InvocationInterceptorChain interceptorChain;
    descriptor: Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain;
    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 Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            invokestatic org.junit.platform.commons.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/junit/platform/commons/logging/Logger;
            putstatic org.junit.jupiter.engine.execution.ExecutableInvoker.logger:Lorg/junit/platform/commons/logging/Logger;
         1: .line 52
            new org.junit.jupiter.engine.execution.InvocationInterceptorChain
            dup
            invokespecial org.junit.jupiter.engine.execution.InvocationInterceptorChain.<init>:()V
            putstatic org.junit.jupiter.engine.execution.ExecutableInvoker.interceptorChain:Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
         0: .line 49
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;

  public <T> T invoke(java.lang.reflect.Constructor<T>, java.util.Optional<java.lang.Object>, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall<java.lang.reflect.Constructor<T>, T>);
    descriptor: (Ljava/lang/reflect/Constructor;Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=6
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
        start local 1 // java.lang.reflect.Constructor constructor
        start local 2 // java.util.Optional outerInstance
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        start local 5 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall interceptorCall
         0: .line 74
            aload 0 /* this */
            aload 1 /* constructor */
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            aload 2 /* outerInstance */
            aload 3 /* extensionContext */
         1: .line 75
            aload 4 /* extensionRegistry */
         2: .line 74
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters:(Ljava/lang/reflect/Executable;Ljava/util/Optional;Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)[Ljava/lang/Object;
            astore 6 /* arguments */
        start local 6 // java.lang.Object[] arguments
         3: .line 76
            new org.junit.jupiter.engine.execution.ConstructorInvocation
            dup
            aload 1 /* constructor */
            aload 6 /* arguments */
            invokespecial org.junit.jupiter.engine.execution.ConstructorInvocation.<init>:(Ljava/lang/reflect/Constructor;[Ljava/lang/Object;)V
            astore 7 /* invocation */
        start local 7 // org.junit.jupiter.engine.execution.ConstructorInvocation invocation
         4: .line 77
            aload 0 /* this */
            aload 7 /* invocation */
            aload 7 /* invocation */
            aload 3 /* extensionContext */
            aload 4 /* extensionRegistry */
            aload 5 /* interceptorCall */
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.invoke:(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;
            areturn
        end local 7 // org.junit.jupiter.engine.execution.ConstructorInvocation invocation
        end local 6 // java.lang.Object[] arguments
        end local 5 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall interceptorCall
        end local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // java.util.Optional outerInstance
        end local 1 // java.lang.reflect.Constructor constructor
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            0    5     1        constructor  Ljava/lang/reflect/Constructor<TT;>;
            0    5     2      outerInstance  Ljava/util/Optional<Ljava/lang/Object;>;
            0    5     3   extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    5     4  extensionRegistry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    5     5    interceptorCall  Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall<Ljava/lang/reflect/Constructor<TT;>;TT;>;
            3    5     6          arguments  [Ljava/lang/Object;
            4    5     7         invocation  Lorg/junit/jupiter/engine/execution/ConstructorInvocation<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Constructor<TT;>;Ljava/util/Optional<Ljava/lang/Object;>;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall<Ljava/lang/reflect/Constructor<TT;>;TT;>;)TT;
    MethodParameters:
                   Name  Flags
      constructor        
      outerInstance      
      extensionContext   
      extensionRegistry  
      interceptorCall    

  public <T> T invoke(java.lang.reflect.Method, , org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall<java.lang.reflect.Method, T>);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=6
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
        start local 1 // java.lang.reflect.Method method
        start local 2 // java.lang.Object target
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        start local 5 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall interceptorCall
         0: .line 94
            aload 2 /* target */
            instanceof java.util.Optional
            ifeq 1
            aload 2 /* target */
            checkcast java.util.Optional
            goto 2
         1: .line 95
      StackMap locals:
      StackMap stack:
            aload 2 /* target */
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
         2: .line 94
      StackMap locals:
      StackMap stack: java.util.Optional
            astore 6 /* optionalTarget */
        start local 6 // java.util.Optional optionalTarget
         3: .line 96
            aload 0 /* this */
            aload 1 /* method */
            aload 6 /* optionalTarget */
            aload 3 /* extensionContext */
            aload 4 /* extensionRegistry */
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters:(Ljava/lang/reflect/Method;Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)[Ljava/lang/Object;
            astore 7 /* arguments */
        start local 7 // java.lang.Object[] arguments
         4: .line 97
            new org.junit.jupiter.engine.execution.MethodInvocation
            dup
            aload 1 /* method */
            aload 6 /* optionalTarget */
            aload 7 /* arguments */
            invokespecial org.junit.jupiter.engine.execution.MethodInvocation.<init>:(Ljava/lang/reflect/Method;Ljava/util/Optional;[Ljava/lang/Object;)V
            astore 8 /* invocation */
        start local 8 // org.junit.jupiter.engine.execution.MethodInvocation invocation
         5: .line 98
            aload 0 /* this */
            aload 8 /* invocation */
            aload 8 /* invocation */
            aload 3 /* extensionContext */
            aload 4 /* extensionRegistry */
            aload 5 /* interceptorCall */
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.invoke:(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;
            areturn
        end local 8 // org.junit.jupiter.engine.execution.MethodInvocation invocation
        end local 7 // java.lang.Object[] arguments
        end local 6 // java.util.Optional optionalTarget
        end local 5 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall interceptorCall
        end local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // java.lang.Object target
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            0    6     1             method  Ljava/lang/reflect/Method;
            0    6     2             target  Ljava/lang/Object;
            0    6     3   extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    6     4  extensionRegistry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    6     5    interceptorCall  Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall<Ljava/lang/reflect/Method;TT;>;
            3    6     6     optionalTarget  Ljava/util/Optional<Ljava/lang/Object;>;
            4    6     7          arguments  [Ljava/lang/Object;
            5    6     8         invocation  Lorg/junit/jupiter/engine/execution/MethodInvocation<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall<Ljava/lang/reflect/Method;TT;>;)TT;
    MethodParameters:
                   Name  Flags
      method             
      target             
      extensionContext   
      extensionRegistry  
      interceptorCall    

  private <E extends java.lang.reflect.Executable, T> T invoke(org.junit.jupiter.api.extension.InvocationInterceptor$Invocation<T>, org.junit.jupiter.api.extension.ReflectiveInvocationContext<E>, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall<E, T>);
    descriptor: (Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
        start local 1 // org.junit.jupiter.api.extension.InvocationInterceptor$Invocation originalInvocation
        start local 2 // org.junit.jupiter.api.extension.ReflectiveInvocationContext invocationContext
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        start local 5 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall call
         0: .line 104
            getstatic org.junit.jupiter.engine.execution.ExecutableInvoker.interceptorChain:Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain;
            aload 1 /* originalInvocation */
            aload 4 /* extensionRegistry */
            aload 5 /* call */
            aload 2 /* invocationContext */
            aload 3 /* extensionContext */
            invokedynamic apply(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain$InterceptorCall;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;
                  org/junit/jupiter/engine/execution/ExecutableInvoker.lambda$0(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object; (6)
                  (Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;
            invokevirtual org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke:(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/InvocationInterceptorChain$InterceptorCall;)Ljava/lang/Object;
            areturn
        end local 5 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall call
        end local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // org.junit.jupiter.api.extension.ReflectiveInvocationContext invocationContext
        end local 1 // org.junit.jupiter.api.extension.InvocationInterceptor$Invocation originalInvocation
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            0    1     1  originalInvocation  Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation<TT;>;
            0    1     2   invocationContext  Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext<TE;>;
            0    1     3    extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    1     4   extensionRegistry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    1     5                call  Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall<TE;TT;>;
    Signature: <E:Ljava/lang/reflect/Executable;T:Ljava/lang/Object;>(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation<TT;>;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext<TE;>;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall<TE;TT;>;)TT;
    MethodParameters:
                    Name  Flags
      originalInvocation  
      invocationContext   
      extensionContext    
      extensionRegistry   
      call                

  private [] resolveParameters(java.lang.reflect.Method, java.util.Optional<java.lang.Object>, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Ljava/lang/reflect/Method;Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
        start local 1 // java.lang.reflect.Method method
        start local 2 // java.util.Optional target
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
         0: .line 144
            aload 0 /* this */
            aload 1 /* method */
            aload 2 /* target */
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            aload 3 /* extensionContext */
            aload 4 /* extensionRegistry */
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameters:(Ljava/lang/reflect/Executable;Ljava/util/Optional;Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)[Ljava/lang/Object;
            areturn
        end local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // java.util.Optional target
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            0    1     1             method  Ljava/lang/reflect/Method;
            0    1     2             target  Ljava/util/Optional<Ljava/lang/Object;>;
            0    1     3   extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    1     4  extensionRegistry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
    Signature: (Ljava/lang/reflect/Method;Ljava/util/Optional<Ljava/lang/Object;>;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)[Ljava/lang/Object;
    MethodParameters:
                   Name  Flags
      method             
      target             
      extensionContext   
      extensionRegistry  

  private [] resolveParameters(java.lang.reflect.Executable, java.util.Optional<java.lang.Object>, java.util.Optional<java.lang.Object>, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Ljava/lang/reflect/Executable;Ljava/util/Optional;Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=6
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
        start local 1 // java.lang.reflect.Executable executable
        start local 2 // java.util.Optional target
        start local 3 // java.util.Optional outerInstance
        start local 4 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 5 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
         0: .line 167
            aload 2 /* target */
            ldc "target must not be null"
            invokestatic org.junit.platform.commons.util.Preconditions.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 169
            aload 1 /* executable */
            invokevirtual java.lang.reflect.Executable.getParameters:()[Ljava/lang/reflect/Parameter;
            astore 6 /* parameters */
        start local 6 // java.lang.reflect.Parameter[] parameters
         2: .line 170
            aload 6 /* parameters */
            arraylength
            anewarray java.lang.Object
            astore 7 /* values */
        start local 7 // java.lang.Object[] values
         3: .line 171
            iconst_0
            istore 8 /* start */
        start local 8 // int start
         4: .line 175
            aload 3 /* outerInstance */
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 7
         5: .line 176
            aload 7 /* values */
            iconst_0
            aload 3 /* outerInstance */
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            aastore
         6: .line 177
            iconst_1
            istore 8 /* start */
         7: .line 181
      StackMap locals: java.lang.reflect.Parameter[] java.lang.Object[] int
      StackMap stack:
            iload 8 /* start */
            istore 9 /* i */
        start local 9 // int i
         8: goto 12
         9: .line 182
      StackMap locals: int
      StackMap stack:
            new org.junit.jupiter.engine.execution.DefaultParameterContext
            dup
            aload 6 /* parameters */
            iload 9 /* i */
            aaload
            iload 9 /* i */
            aload 2 /* target */
            invokespecial org.junit.jupiter.engine.execution.DefaultParameterContext.<init>:(Ljava/lang/reflect/Parameter;ILjava/util/Optional;)V
            astore 10 /* parameterContext */
        start local 10 // org.junit.jupiter.api.extension.ParameterContext parameterContext
        10: .line 183
            aload 7 /* values */
            iload 9 /* i */
            aload 0 /* this */
            aload 10 /* parameterContext */
            aload 1 /* executable */
            aload 4 /* extensionContext */
            aload 5 /* extensionRegistry */
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.resolveParameter:(Lorg/junit/jupiter/api/extension/ParameterContext;Ljava/lang/reflect/Executable;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)Ljava/lang/Object;
            aastore
        end local 10 // org.junit.jupiter.api.extension.ParameterContext parameterContext
        11: .line 181
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 9 /* i */
            aload 6 /* parameters */
            arraylength
            if_icmplt 9
        end local 9 // int i
        13: .line 185
            aload 7 /* values */
            areturn
        end local 8 // int start
        end local 7 // java.lang.Object[] values
        end local 6 // java.lang.reflect.Parameter[] parameters
        end local 5 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        end local 4 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 3 // java.util.Optional outerInstance
        end local 2 // java.util.Optional target
        end local 1 // java.lang.reflect.Executable executable
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            0   14     1         executable  Ljava/lang/reflect/Executable;
            0   14     2             target  Ljava/util/Optional<Ljava/lang/Object;>;
            0   14     3      outerInstance  Ljava/util/Optional<Ljava/lang/Object;>;
            0   14     4   extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0   14     5  extensionRegistry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            2   14     6         parameters  [Ljava/lang/reflect/Parameter;
            3   14     7             values  [Ljava/lang/Object;
            4   14     8              start  I
            8   13     9                  i  I
           10   11    10   parameterContext  Lorg/junit/jupiter/api/extension/ParameterContext;
    Signature: (Ljava/lang/reflect/Executable;Ljava/util/Optional<Ljava/lang/Object;>;Ljava/util/Optional<Ljava/lang/Object;>;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)[Ljava/lang/Object;
    MethodParameters:
                   Name  Flags
      executable         
      target             
      outerInstance      
      extensionContext   
      extensionRegistry  

  private java.lang.Object resolveParameter(org.junit.jupiter.api.extension.ParameterContext, java.lang.reflect.Executable, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Lorg/junit/jupiter/api/extension/ParameterContext;Ljava/lang/reflect/Executable;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
        start local 1 // org.junit.jupiter.api.extension.ParameterContext parameterContext
        start local 2 // java.lang.reflect.Executable executable
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
         0: .line 193
            aload 4 /* extensionRegistry */
            ldc Lorg/junit/jupiter/api/extension/ParameterResolver;
            invokeinterface org.junit.jupiter.engine.extension.ExtensionRegistry.stream:(Ljava/lang/Class;)Ljava/util/stream/Stream;
         1: .line 194
            aload 1 /* parameterContext */
            aload 3 /* extensionContext */
            invokedynamic test(Lorg/junit/jupiter/api/extension/ParameterContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/junit/jupiter/engine/execution/ExecutableInvoker.lambda$1(Lorg/junit/jupiter/api/extension/ParameterContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/ParameterResolver;)Z (6)
                  (Lorg/junit/jupiter/api/extension/ParameterResolver;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 195
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         3: .line 193
            astore 5 /* matchingResolvers */
        start local 5 // java.util.List matchingResolvers
         4: .line 198
            aload 5 /* matchingResolvers */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 10
         5: .line 199
            new org.junit.jupiter.api.extension.ParameterResolutionException
            dup
         6: .line 200
            ldc "No ParameterResolver registered for parameter [%s] in %s [%s]."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 201
            aload 1 /* parameterContext */
            invokeinterface org.junit.jupiter.api.extension.ParameterContext.getParameter:()Ljava/lang/reflect/Parameter;
            aastore
            dup
            iconst_1
            aload 2 /* executable */
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker.asLabel:(Ljava/lang/reflect/Executable;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* executable */
            invokevirtual java.lang.reflect.Executable.toGenericString:()Ljava/lang/String;
            aastore
         8: .line 200
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         9: .line 199
            invokespecial org.junit.jupiter.api.extension.ParameterResolutionException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 204
      StackMap locals: java.util.List
      StackMap stack:
            aload 5 /* matchingResolvers */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 20
        11: .line 206
            aload 5 /* matchingResolvers */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        12: .line 207
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/junit/platform/commons/util/StringUtils.defaultToString(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Lorg/junit/jupiter/api/extension/ParameterResolver;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
        13: .line 208
            ldc ", "
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
        14: .line 206
            astore 6 /* resolvers */
        start local 6 // java.lang.String resolvers
        15: .line 210
            new org.junit.jupiter.api.extension.ParameterResolutionException
            dup
        16: .line 211
            ldc "Discovered multiple competing ParameterResolvers for parameter [%s] in %s [%s]: %s"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        17: .line 212
            aload 1 /* parameterContext */
            invokeinterface org.junit.jupiter.api.extension.ParameterContext.getParameter:()Ljava/lang/reflect/Parameter;
            aastore
            dup
            iconst_1
            aload 2 /* executable */
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker.asLabel:(Ljava/lang/reflect/Executable;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* executable */
            invokevirtual java.lang.reflect.Executable.toGenericString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 6 /* resolvers */
            aastore
        18: .line 211
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        19: .line 210
            invokespecial org.junit.jupiter.api.extension.ParameterResolutionException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String resolvers
        20: .line 215
      StackMap locals:
      StackMap stack:
            aload 5 /* matchingResolvers */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.junit.jupiter.api.extension.ParameterResolver
            astore 6 /* resolver */
        start local 6 // org.junit.jupiter.api.extension.ParameterResolver resolver
        21: .line 216
            aload 6 /* resolver */
            aload 1 /* parameterContext */
            aload 3 /* extensionContext */
            invokeinterface org.junit.jupiter.api.extension.ParameterResolver.resolveParameter:(Lorg/junit/jupiter/api/extension/ParameterContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
            astore 7 /* value */
        start local 7 // java.lang.Object value
        22: .line 217
            aload 0 /* this */
            aload 1 /* parameterContext */
            invokeinterface org.junit.jupiter.api.extension.ParameterContext.getParameter:()Ljava/lang/reflect/Parameter;
            aload 7 /* value */
            aload 2 /* executable */
            aload 6 /* resolver */
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.validateResolvedType:(Ljava/lang/reflect/Parameter;Ljava/lang/Object;Ljava/lang/reflect/Executable;Lorg/junit/jupiter/api/extension/ParameterResolver;)V
        23: .line 219
            getstatic org.junit.jupiter.engine.execution.ExecutableInvoker.logger:Lorg/junit/platform/commons/logging/Logger;
            aload 6 /* resolver */
            aload 7 /* value */
            aload 1 /* parameterContext */
            aload 2 /* executable */
            invokedynamic get(Lorg/junit/jupiter/api/extension/ParameterResolver;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ParameterContext;Ljava/lang/reflect/Executable;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/junit/jupiter/engine/execution/ExecutableInvoker.lambda$3(Lorg/junit/jupiter/api/extension/ParameterResolver;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ParameterContext;Ljava/lang/reflect/Executable;)Ljava/lang/String; (6)
                  ()Ljava/lang/String;
            invokeinterface org.junit.platform.commons.logging.Logger.trace:(Ljava/util/function/Supplier;)V
        24: .line 224
            aload 7 /* value */
        25: areturn
        end local 7 // java.lang.Object value
        end local 6 // org.junit.jupiter.api.extension.ParameterResolver resolver
        end local 5 // java.util.List matchingResolvers
        26: .line 226
      StackMap locals: org.junit.jupiter.engine.execution.ExecutableInvoker org.junit.jupiter.api.extension.ParameterContext java.lang.reflect.Executable org.junit.jupiter.api.extension.ExtensionContext org.junit.jupiter.engine.extension.ExtensionRegistry
      StackMap stack: org.junit.jupiter.api.extension.ParameterResolutionException
            astore 5 /* ex */
        start local 5 // org.junit.jupiter.api.extension.ParameterResolutionException ex
        27: .line 227
            aload 5 /* ex */
            athrow
        end local 5 // org.junit.jupiter.api.extension.ParameterResolutionException ex
        28: .line 229
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* throwable */
        start local 5 // java.lang.Throwable throwable
        29: .line 230
            aload 5 /* throwable */
            invokestatic org.junit.platform.commons.util.UnrecoverableExceptions.rethrowIfUnrecoverable:(Ljava/lang/Throwable;)V
        30: .line 232
            ldc "Failed to resolve parameter [%s] in %s [%s]"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        31: .line 233
            aload 1 /* parameterContext */
            invokeinterface org.junit.jupiter.api.extension.ParameterContext.getParameter:()Ljava/lang/reflect/Parameter;
            aastore
            dup
            iconst_1
            aload 2 /* executable */
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker.asLabel:(Ljava/lang/reflect/Executable;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* executable */
            invokevirtual java.lang.reflect.Executable.toGenericString:()Ljava/lang/String;
            aastore
        32: .line 232
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
        33: .line 235
            aload 5 /* throwable */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokestatic org.junit.platform.commons.util.StringUtils.isNotBlank:(Ljava/lang/String;)Z
            ifeq 35
        34: .line 236
            new java.lang.StringBuilder
            dup
            aload 6 /* message */
            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 5 /* throwable */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* message */
        35: .line 239
      StackMap locals: java.lang.Throwable java.lang.String
      StackMap stack:
            new org.junit.jupiter.api.extension.ParameterResolutionException
            dup
            aload 6 /* message */
            aload 5 /* throwable */
            invokespecial org.junit.jupiter.api.extension.ParameterResolutionException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.String message
        end local 5 // java.lang.Throwable throwable
        end local 4 // org.junit.jupiter.engine.extension.ExtensionRegistry extensionRegistry
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // java.lang.reflect.Executable executable
        end local 1 // org.junit.jupiter.api.extension.ParameterContext parameterContext
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   36     0               this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            0   36     1   parameterContext  Lorg/junit/jupiter/api/extension/ParameterContext;
            0   36     2         executable  Ljava/lang/reflect/Executable;
            0   36     3   extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0   36     4  extensionRegistry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            4   26     5  matchingResolvers  Ljava/util/List<Lorg/junit/jupiter/api/extension/ParameterResolver;>;
           15   20     6          resolvers  Ljava/lang/String;
           21   26     6           resolver  Lorg/junit/jupiter/api/extension/ParameterResolver;
           22   26     7              value  Ljava/lang/Object;
           27   28     5                 ex  Lorg/junit/jupiter/api/extension/ParameterResolutionException;
           29   36     5          throwable  Ljava/lang/Throwable;
           33   36     6            message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0    25      26  Class org.junit.jupiter.api.extension.ParameterResolutionException
           0    25      28  Class java.lang.Throwable
    MethodParameters:
                   Name  Flags
      parameterContext   
      executable         
      extensionContext   
      extensionRegistry  

  private void validateResolvedType(java.lang.reflect.Parameter, java.lang.Object, java.lang.reflect.Executable, org.junit.jupiter.api.extension.ParameterResolver);
    descriptor: (Ljava/lang/reflect/Parameter;Ljava/lang/Object;Ljava/lang/reflect/Executable;Lorg/junit/jupiter/api/extension/ParameterResolver;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
        start local 1 // java.lang.reflect.Parameter parameter
        start local 2 // java.lang.Object value
        start local 3 // java.lang.reflect.Executable executable
        start local 4 // org.junit.jupiter.api.extension.ParameterResolver resolver
         0: .line 246
            aload 1 /* parameter */
            invokevirtual java.lang.reflect.Parameter.getType:()Ljava/lang/Class;
            astore 5 /* type */
        start local 5 // java.lang.Class type
         1: .line 249
            aload 2 /* value */
            aload 5 /* type */
            invokestatic org.junit.platform.commons.util.ReflectionUtils.isAssignableTo:(Ljava/lang/Object;Ljava/lang/Class;)Z
            ifne 15
         2: .line 251
            aload 2 /* value */
            ifnonnull 8
            aload 5 /* type */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 8
         3: .line 253
            ldc "ParameterResolver [%s] resolved a null value for parameter [%s] in %s [%s], but a primitive of type [%s] is required."
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         4: .line 255
            aload 4 /* resolver */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* parameter */
            aastore
            dup
            iconst_2
            aload 3 /* executable */
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker.asLabel:(Ljava/lang/reflect/Executable;)Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 3 /* executable */
            invokevirtual java.lang.reflect.Executable.toGenericString:()Ljava/lang/String;
            aastore
            dup
            iconst_4
         5: .line 256
            aload 5 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
         6: .line 252
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
         7: .line 257
            goto 14
        end local 6 // java.lang.String message
         8: .line 260
      StackMap locals: java.lang.Class
      StackMap stack:
            ldc "ParameterResolver [%s] resolved a value of type [%s] for parameter [%s] in %s [%s], but a value assignment compatible with [%s] is required."
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 262
            aload 4 /* resolver */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* value */
            ifnull 10
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 11
      StackMap locals: org.junit.jupiter.engine.execution.ExecutableInvoker java.lang.reflect.Parameter java.lang.Object java.lang.reflect.Executable org.junit.jupiter.api.extension.ParameterResolver java.lang.Class
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
        10: aconst_null
      StackMap locals: org.junit.jupiter.engine.execution.ExecutableInvoker java.lang.reflect.Parameter java.lang.Object java.lang.reflect.Executable org.junit.jupiter.api.extension.ParameterResolver java.lang.Class
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        11: aastore
            dup
            iconst_2
            aload 1 /* parameter */
            aastore
            dup
            iconst_3
        12: .line 263
            aload 3 /* executable */
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker.asLabel:(Ljava/lang/reflect/Executable;)Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 3 /* executable */
            invokevirtual java.lang.reflect.Executable.toGenericString:()Ljava/lang/String;
            aastore
            dup
            iconst_5
            aload 5 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        13: .line 259
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* message */
        start local 6 // java.lang.String message
        14: .line 266
      StackMap locals: java.lang.String
      StackMap stack:
            new org.junit.jupiter.api.extension.ParameterResolutionException
            dup
            aload 6 /* message */
            invokespecial org.junit.jupiter.api.extension.ParameterResolutionException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String message
        15: .line 268
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.Class type
        end local 4 // org.junit.jupiter.api.extension.ParameterResolver resolver
        end local 3 // java.lang.reflect.Executable executable
        end local 2 // java.lang.Object value
        end local 1 // java.lang.reflect.Parameter parameter
        end local 0 // org.junit.jupiter.engine.execution.ExecutableInvoker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            0   16     1   parameter  Ljava/lang/reflect/Parameter;
            0   16     2       value  Ljava/lang/Object;
            0   16     3  executable  Ljava/lang/reflect/Executable;
            0   16     4    resolver  Lorg/junit/jupiter/api/extension/ParameterResolver;
            1   16     5        type  Ljava/lang/Class<*>;
            7    8     6     message  Ljava/lang/String;
           14   15     6     message  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      parameter   
      value       
      executable  
      resolver    

  private static java.lang.String asLabel(java.lang.reflect.Executable);
    descriptor: (Ljava/lang/reflect/Executable;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.reflect.Executable executable
         0: .line 271
            aload 0 /* executable */
            instanceof java.lang.reflect.Constructor
            ifeq 1
            ldc "constructor"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "method"
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // java.lang.reflect.Executable executable
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  executable  Ljava/lang/reflect/Executable;
    MethodParameters:
            Name  Flags
      executable  

  private static java.lang.Object lambda$0(org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall, org.junit.jupiter.api.extension.ReflectiveInvocationContext, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.InvocationInterceptor, org.junit.jupiter.api.extension.InvocationInterceptor$Invocation);
    descriptor: (Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 3 // org.junit.jupiter.api.extension.InvocationInterceptor interceptor
        start local 4 // org.junit.jupiter.api.extension.InvocationInterceptor$Invocation wrappedInvocation
         0: .line 105
            aload 0
            aload 3 /* interceptor */
            aload 4 /* wrappedInvocation */
            aload 1
            aload 2
            invokeinterface org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.apply:(Lorg/junit/jupiter/api/extension/InvocationInterceptor;Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
            areturn
        end local 4 // org.junit.jupiter.api.extension.InvocationInterceptor$Invocation wrappedInvocation
        end local 3 // org.junit.jupiter.api.extension.InvocationInterceptor interceptor
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     3        interceptor  Lorg/junit/jupiter/api/extension/InvocationInterceptor;
            0    1     4  wrappedInvocation  Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation<TT;>;
    Exceptions:
      throws java.lang.Throwable

  private static boolean lambda$1(org.junit.jupiter.api.extension.ParameterContext, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.ParameterResolver);
    descriptor: (Lorg/junit/jupiter/api/extension/ParameterContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/ParameterResolver;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // org.junit.jupiter.api.extension.ParameterResolver resolver
         0: .line 194
            aload 2 /* resolver */
            aload 0
            aload 1
            invokeinterface org.junit.jupiter.api.extension.ParameterResolver.supportsParameter:(Lorg/junit/jupiter/api/extension/ParameterContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Z
            ireturn
        end local 2 // org.junit.jupiter.api.extension.ParameterResolver resolver
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     2  resolver  Lorg/junit/jupiter/api/extension/ParameterResolver;

  private static java.lang.String lambda$3(org.junit.jupiter.api.extension.ParameterResolver, java.lang.Object, org.junit.jupiter.api.extension.ParameterContext, java.lang.reflect.Executable);
    descriptor: (Lorg/junit/jupiter/api/extension/ParameterResolver;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ParameterContext;Ljava/lang/reflect/Executable;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
         0: .line 220
            ldc "ParameterResolver [%s] resolved a value of type [%s] for parameter [%s] in %s [%s]."
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 221
            aload 0
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1
            ifnull 2
            aload 1
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 3
      StackMap locals: org.junit.jupiter.api.extension.ParameterResolver java.lang.Object org.junit.jupiter.api.extension.ParameterContext java.lang.reflect.Executable
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int
         2: aconst_null
      StackMap locals: org.junit.jupiter.api.extension.ParameterResolver java.lang.Object org.junit.jupiter.api.extension.ParameterContext java.lang.reflect.Executable
      StackMap stack: java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
         3: aastore
            dup
            iconst_2
         4: .line 222
            aload 2
            invokeinterface org.junit.jupiter.api.extension.ParameterContext.getParameter:()Ljava/lang/reflect/Parameter;
            aastore
            dup
            iconst_3
            aload 3
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker.asLabel:(Ljava/lang/reflect/Executable;)Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 3
            invokevirtual java.lang.reflect.Executable.toGenericString:()Ljava/lang/String;
            aastore
         5: .line 219
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         6: .line 222
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ExecutableInvoker.java"
NestMembers:
  org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall  org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Status = org.apiguardian.api.API$Status of org.apiguardian.api.API
  public abstract Invocation = org.junit.jupiter.api.extension.InvocationInterceptor$Invocation of org.junit.jupiter.api.extension.InvocationInterceptor
  public abstract ReflectiveInterceptorCall = org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall of org.junit.jupiter.engine.execution.ExecutableInvoker
  public abstract InterceptorCall = org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptorCall of org.junit.jupiter.engine.execution.InvocationInterceptorChain
    RuntimeVisibleAnnotations: 
      org.apiguardian.api.API(status = org.apiguardian.api.API$Status.INTERNAL:Lorg/apiguardian/api/API$Status;, since = "5.0")