public abstract class org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor extends org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor
  super_class: org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
{
  private static final org.junit.jupiter.engine.execution.ExecutableInvoker executableInvoker;
    descriptor: Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Class<?> testClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  protected final java.util.Set<org.junit.platform.engine.TestTag> tags;
    descriptor: Ljava/util/Set;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/junit/platform/engine/TestTag;>;

  protected final org.junit.jupiter.api.TestInstance$Lifecycle lifecycle;
    descriptor: Lorg/junit/jupiter/api/TestInstance$Lifecycle;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private org.junit.platform.engine.support.hierarchical.Node$ExecutionMode defaultChildExecutionMode;
    descriptor: Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;
    flags: (0x0002) ACC_PRIVATE

  private org.junit.jupiter.api.extension.TestInstanceFactory testInstanceFactory;
    descriptor: Lorg/junit/jupiter/api/extension/TestInstanceFactory;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.lang.reflect.Method> beforeAllMethods;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/reflect/Method;>;

  private java.util.List<java.lang.reflect.Method> afterAllMethods;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/reflect/Method;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 81
            new org.junit.jupiter.engine.execution.ExecutableInvoker
            dup
            invokespecial org.junit.jupiter.engine.execution.ExecutableInvoker.<init>:()V
            putstatic org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executableInvoker:Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.junit.platform.engine.UniqueId, java.lang.Class<?>, java.util.function.Supplier<java.lang.String>, org.junit.jupiter.engine.config.JupiterConfiguration);
    descriptor: (Lorg/junit/platform/engine/UniqueId;Ljava/lang/Class;Ljava/util/function/Supplier;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.platform.engine.UniqueId uniqueId
        start local 2 // java.lang.Class testClass
        start local 3 // java.util.function.Supplier displayNameSupplier
        start local 4 // org.junit.jupiter.engine.config.JupiterConfiguration configuration
         0: .line 94
            aload 0 /* this */
            aload 1 /* uniqueId */
            aload 2 /* testClass */
            aload 3 /* displayNameSupplier */
            aload 2 /* testClass */
            invokestatic org.junit.platform.engine.support.descriptor.ClassSource.from:(Ljava/lang/Class;)Lorg/junit/platform/engine/support/descriptor/ClassSource;
            aload 4 /* configuration */
            invokespecial org.junit.jupiter.engine.descriptor.JupiterTestDescriptor.<init>:(Lorg/junit/platform/engine/UniqueId;Ljava/lang/reflect/AnnotatedElement;Ljava/util/function/Supplier;Lorg/junit/platform/engine/TestSource;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
         1: .line 96
            aload 0 /* this */
            aload 2 /* testClass */
            putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
         2: .line 97
            aload 0 /* this */
            aload 2 /* testClass */
            invokestatic org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.getTags:(Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Set;
            putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.tags:Ljava/util/Set;
         3: .line 98
            aload 0 /* this */
            aload 2 /* testClass */
            aload 4 /* configuration */
            invokestatic org.junit.jupiter.engine.descriptor.TestInstanceLifecycleUtils.getTestInstanceLifecycle:(Ljava/lang/Class;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lifecycle:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
         4: .line 99
            aload 0 /* this */
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lifecycle:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            getstatic org.junit.jupiter.api.TestInstance$Lifecycle.PER_CLASS:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            if_acmpne 5
            getstatic org.junit.platform.engine.support.hierarchical.Node$ExecutionMode.SAME_THREAD:Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;
            goto 6
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.platform.engine.UniqueId java.lang.Class java.util.function.Supplier org.junit.jupiter.engine.config.JupiterConfiguration
      StackMap stack: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor
         5: aconst_null
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.platform.engine.UniqueId java.lang.Class java.util.function.Supplier org.junit.jupiter.engine.config.JupiterConfiguration
      StackMap stack: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.platform.engine.support.hierarchical.Node$ExecutionMode
         6: putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.defaultChildExecutionMode:Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;
         7: .line 100
            return
        end local 4 // org.junit.jupiter.engine.config.JupiterConfiguration configuration
        end local 3 // java.util.function.Supplier displayNameSupplier
        end local 2 // java.lang.Class testClass
        end local 1 // org.junit.platform.engine.UniqueId uniqueId
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    8     0                 this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    8     1             uniqueId  Lorg/junit/platform/engine/UniqueId;
            0    8     2            testClass  Ljava/lang/Class<*>;
            0    8     3  displayNameSupplier  Ljava/util/function/Supplier<Ljava/lang/String;>;
            0    8     4        configuration  Lorg/junit/jupiter/engine/config/JupiterConfiguration;
    Signature: (Lorg/junit/platform/engine/UniqueId;Ljava/lang/Class<*>;Ljava/util/function/Supplier<Ljava/lang/String;>;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
    MethodParameters:
                     Name  Flags
      uniqueId             
      testClass            
      displayNameSupplier  
      configuration        

  public final java.lang.Class<?> getTestClass();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 105
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            areturn
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
    Signature: ()Ljava/lang/Class<*>;

  public abstract java.util.List<java.lang.Class<?>> getEnclosingTestClasses();
    descriptor: ()Ljava/util/List;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/List<Ljava/lang/Class<*>;>;

  public org.junit.platform.engine.TestDescriptor$Type getType();
    descriptor: ()Lorg/junit/platform/engine/TestDescriptor$Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 112
            getstatic org.junit.platform.engine.TestDescriptor$Type.CONTAINER:Lorg/junit/platform/engine/TestDescriptor$Type;
            areturn
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;

  public java.lang.String getLegacyReportingName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 117
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;

  protected java.util.Optional<org.junit.platform.engine.support.hierarchical.Node$ExecutionMode> getExplicitExecutionMode();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 124
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.getTestClass:()Ljava/lang/Class;
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.getExecutionModeFromAnnotation:(Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Optional;
            areturn
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
    Signature: ()Ljava/util/Optional<Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;>;

  protected java.util.Optional<org.junit.platform.engine.support.hierarchical.Node$ExecutionMode> getDefaultChildExecutionMode();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 129
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.defaultChildExecutionMode:Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
    Signature: ()Ljava/util/Optional<Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;>;

  public void setDefaultChildExecutionMode(org.junit.platform.engine.support.hierarchical.Node$ExecutionMode);
    descriptor: (Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.platform.engine.support.hierarchical.Node$ExecutionMode defaultChildExecutionMode
         0: .line 133
            aload 0 /* this */
            aload 1 /* defaultChildExecutionMode */
            putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.defaultChildExecutionMode:Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;
         1: .line 134
            return
        end local 1 // org.junit.platform.engine.support.hierarchical.Node$ExecutionMode defaultChildExecutionMode
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    2     1  defaultChildExecutionMode  Lorg/junit/platform/engine/support/hierarchical/Node$ExecutionMode;
    MethodParameters:
                           Name  Flags
      defaultChildExecutionMode  

  public java.util.Set<org.junit.platform.engine.support.hierarchical.ExclusiveResource> getExclusiveResources();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 138
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.getTestClass:()Ljava/lang/Class;
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.getExclusiveResourcesFromAnnotation:(Ljava/lang/reflect/AnnotatedElement;)Ljava/util/Set;
            areturn
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
    Signature: ()Ljava/util/Set<Lorg/junit/platform/engine/support/hierarchical/ExclusiveResource;>;

  public org.junit.jupiter.engine.execution.JupiterEngineExecutionContext prepare(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 144
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
         1: .line 143
            invokestatic org.junit.jupiter.engine.descriptor.ExtensionUtils.populateNewExtensionRegistryFromExtendWithAnnotation:(Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;Ljava/lang/reflect/AnnotatedElement;)Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            astore 2 /* registry */
        start local 2 // org.junit.jupiter.engine.extension.MutableExtensionRegistry registry
         2: .line 148
            aload 2 /* registry */
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            aconst_null
            invokestatic org.junit.jupiter.engine.descriptor.ExtensionUtils.registerExtensionsFromFields:(Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/lang/Class;Ljava/lang/Object;)V
         3: .line 153
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* registry */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.resolveTestInstanceFactory:(Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)Lorg/junit/jupiter/api/extension/TestInstanceFactory;
            putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testInstanceFactory:Lorg/junit/jupiter/api/extension/TestInstanceFactory;
         4: .line 155
            aload 0 /* this */
            aload 2 /* registry */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.registerBeforeEachMethodAdapters:(Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;)V
         5: .line 156
            aload 0 /* this */
            aload 2 /* registry */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.registerAfterEachMethodAdapters:(Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;)V
         6: .line 158
            invokestatic org.junit.jupiter.engine.support.JupiterThrowableCollectorFactory.createThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 3 /* throwableCollector */
        start local 3 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         7: .line 159
            new org.junit.jupiter.engine.descriptor.ClassExtensionContext
            dup
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
         8: .line 160
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExecutionListener:()Lorg/junit/platform/engine/EngineExecutionListener;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lifecycle:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getConfiguration:()Lorg/junit/jupiter/engine/config/JupiterConfiguration;
            aload 3 /* throwableCollector */
         9: .line 159
            invokespecial org.junit.jupiter.engine.descriptor.ClassExtensionContext.<init>:(Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/platform/engine/EngineExecutionListener;Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Lorg/junit/jupiter/api/TestInstance$Lifecycle;Lorg/junit/jupiter/engine/config/JupiterConfiguration;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)V
            astore 4 /* extensionContext */
        start local 4 // org.junit.jupiter.engine.descriptor.ClassExtensionContext extensionContext
        10: .line 162
            aload 0 /* this */
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lifecycle:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            getstatic org.junit.jupiter.api.TestInstance$Lifecycle.PER_METHOD:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            if_acmpne 11
            iconst_1
            goto 12
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.MutableExtensionRegistry org.junit.platform.engine.support.hierarchical.ThrowableCollector org.junit.jupiter.engine.descriptor.ClassExtensionContext
      StackMap stack: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor java.lang.Class
        11: iconst_0
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.MutableExtensionRegistry org.junit.platform.engine.support.hierarchical.ThrowableCollector org.junit.jupiter.engine.descriptor.ClassExtensionContext
      StackMap stack: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor java.lang.Class int
        12: invokestatic org.junit.jupiter.engine.descriptor.LifecycleMethodUtils.findBeforeAllMethods:(Ljava/lang/Class;Z)Ljava/util/List;
            putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.beforeAllMethods:Ljava/util/List;
        13: .line 163
            aload 0 /* this */
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lifecycle:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            getstatic org.junit.jupiter.api.TestInstance$Lifecycle.PER_METHOD:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
            if_acmpne 14
            iconst_1
            goto 15
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.MutableExtensionRegistry org.junit.platform.engine.support.hierarchical.ThrowableCollector org.junit.jupiter.engine.descriptor.ClassExtensionContext
      StackMap stack: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor java.lang.Class
        14: iconst_0
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.MutableExtensionRegistry org.junit.platform.engine.support.hierarchical.ThrowableCollector org.junit.jupiter.engine.descriptor.ClassExtensionContext
      StackMap stack: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor java.lang.Class int
        15: invokestatic org.junit.jupiter.engine.descriptor.LifecycleMethodUtils.findAfterAllMethods:(Ljava/lang/Class;Z)Ljava/util/List;
            putfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.afterAllMethods:Ljava/util/List;
        16: .line 166
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.extend:()Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext$Builder;
        17: .line 167
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* extensionContext */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testInstancesProvider:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;)Lorg/junit/jupiter/engine/execution/TestInstancesProvider;
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder.withTestInstancesProvider:(Lorg/junit/jupiter/engine/execution/TestInstancesProvider;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext$Builder;
        18: .line 168
            aload 2 /* registry */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder.withExtensionRegistry:(Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext$Builder;
        19: .line 169
            aload 4 /* extensionContext */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder.withExtensionContext:(Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext$Builder;
        20: .line 170
            aload 3 /* throwableCollector */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder.withThrowableCollector:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext$Builder;
        21: .line 171
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder.build:()Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
        22: .line 166
            areturn
        end local 4 // org.junit.jupiter.engine.descriptor.ClassExtensionContext extensionContext
        end local 3 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 2 // org.junit.jupiter.engine.extension.MutableExtensionRegistry registry
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0   23     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            2   23     2            registry  Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            7   23     3  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
           10   23     4    extensionContext  Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;
    MethodParameters:
         Name  Flags
      context  

  public org.junit.jupiter.engine.execution.JupiterEngineExecutionContext before(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 177
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 2 /* throwableCollector */
        start local 2 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         1: .line 179
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.isPerClassLifecycle:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Z
            ifeq 4
         2: .line 182
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            checkcast org.junit.jupiter.engine.descriptor.ClassExtensionContext
            astore 3 /* extensionContext */
        start local 3 // org.junit.jupiter.engine.descriptor.ClassExtensionContext extensionContext
         3: .line 183
            aload 2 /* throwableCollector */
            aload 1 /* context */
            aload 2 /* throwableCollector */
            aload 3 /* extensionContext */
            invokedynamic execute(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$0(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;)V (6)
                  ()V
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
        end local 3 // org.junit.jupiter.engine.descriptor.ClassExtensionContext extensionContext
         4: .line 190
      StackMap locals: org.junit.platform.engine.support.hierarchical.ThrowableCollector
      StackMap stack:
            aload 2 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.isEmpty:()Z
            ifeq 10
         5: .line 191
            aload 1 /* context */
            iconst_1
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.beforeAllCallbacksExecuted:(Z)V
         6: .line 192
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllCallbacks:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
         7: .line 194
            aload 2 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.isEmpty:()Z
            ifeq 10
         8: .line 195
            aload 1 /* context */
            iconst_1
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.beforeAllMethodsExecuted:(Z)V
         9: .line 196
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethods:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
        10: .line 200
      StackMap locals:
      StackMap stack:
            aload 2 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.assertEmpty:()V
        11: .line 202
            aload 1 /* context */
            areturn
        end local 2 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0   12     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            1   12     2  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            3    4     3    extensionContext  Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;
    MethodParameters:
         Name  Flags
      context  

  public void after(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 208
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 2 /* throwableCollector */
        start local 2 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         1: .line 209
            aload 2 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.getThrowable:()Ljava/lang/Throwable;
            astore 3 /* previousThrowable */
        start local 3 // java.lang.Throwable previousThrowable
         2: .line 211
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.beforeAllMethodsExecuted:()Z
            ifeq 4
         3: .line 212
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeAfterAllMethods:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
         4: .line 215
      StackMap locals: org.junit.platform.engine.support.hierarchical.ThrowableCollector java.lang.Throwable
      StackMap stack:
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.beforeAllCallbacksExecuted:()Z
            ifeq 6
         5: .line 216
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeAfterAllCallbacks:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
         6: .line 219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.isPerClassLifecycle:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Z
            ifeq 8
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getTestInstance:()Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifeq 8
         7: .line 220
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePreDestroyCallbacks:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
         8: .line 228
      StackMap locals:
      StackMap stack:
            aload 3 /* previousThrowable */
            aload 2 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.getThrowable:()Ljava/lang/Throwable;
            if_acmpeq 10
         9: .line 229
            aload 2 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.assertEmpty:()V
        10: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Throwable previousThrowable
        end local 2 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0   11     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            1   11     2  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            2   11     3   previousThrowable  Ljava/lang/Throwable;
    MethodParameters:
         Name  Flags
      context  

  private org.junit.jupiter.api.extension.TestInstanceFactory resolveTestInstanceFactory(org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)Lorg/junit/jupiter/api/extension/TestInstanceFactory;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
         0: .line 234
            aload 1 /* registry */
            ldc Lorg/junit/jupiter/api/extension/TestInstanceFactory;
            invokeinterface org.junit.jupiter.engine.extension.ExtensionRegistry.getExtensions:(Ljava/lang/Class;)Ljava/util/List;
            astore 2 /* factories */
        start local 2 // java.util.List factories
         1: .line 236
            aload 2 /* factories */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 3
         2: .line 237
            aload 2 /* factories */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.junit.jupiter.api.extension.TestInstanceFactory
            areturn
         3: .line 240
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* factories */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmple 12
         4: .line 241
            aload 2 /* factories */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         5: .line 242
            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/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$1(Lorg/junit/jupiter/api/extension/TestInstanceFactory;)Ljava/lang/String; (6)
                  (Lorg/junit/jupiter/api/extension/TestInstanceFactory;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         6: .line 243
            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
         7: .line 241
            astore 3 /* factoryNames */
        start local 3 // java.lang.String factoryNames
         8: .line 246
            ldc "The following TestInstanceFactory extensions were registered for test class [%s], but only one is permitted: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 247
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 3 /* factoryNames */
            aastore
        10: .line 245
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* errorMessage */
        start local 4 // java.lang.String errorMessage
        11: .line 249
            new org.junit.jupiter.api.extension.ExtensionConfigurationException
            dup
            aload 4 /* errorMessage */
            invokespecial org.junit.jupiter.api.extension.ExtensionConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String errorMessage
        end local 3 // java.lang.String factoryNames
        12: .line 252
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.List factories
        end local 1 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0   13     1      registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            1   13     2     factories  Ljava/util/List<Lorg/junit/jupiter/api/extension/TestInstanceFactory;>;
            8   12     3  factoryNames  Ljava/lang/String;
           11   12     4  errorMessage  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      registry  

  private org.junit.jupiter.engine.execution.TestInstancesProvider testInstancesProvider(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.jupiter.engine.descriptor.ClassExtensionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;)Lorg/junit/jupiter/engine/execution/TestInstancesProvider;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext parentExecutionContext
        start local 2 // org.junit.jupiter.engine.descriptor.ClassExtensionContext extensionContext
         0: .line 258
            aload 0 /* this */
            aload 2 /* extensionContext */
            aload 1 /* parentExecutionContext */
            invokedynamic getTestInstances(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Lorg/junit/jupiter/engine/execution/TestInstancesProvider;
              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/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$2(Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances; (7)
                  (Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
            areturn
        end local 2 // org.junit.jupiter.engine.descriptor.ClassExtensionContext extensionContext
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext parentExecutionContext
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                    this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    1     1  parentExecutionContext  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            0    1     2        extensionContext  Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;
    MethodParameters:
                        Name  Flags
      parentExecutionContext  
      extensionContext        

  private org.junit.jupiter.api.extension.TestInstances instantiateAndPostProcessTestInstance(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.extension.ExtensionRegistrar, org.junit.platform.engine.support.hierarchical.ThrowableCollector);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext parentExecutionContext
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 4 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        start local 5 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         0: .line 267
            aload 0 /* this */
            aload 1 /* parentExecutionContext */
            aload 3 /* registry */
            aload 4 /* registrar */
            aload 2 /* extensionContext */
         1: .line 268
            aload 5 /* throwableCollector */
         2: .line 267
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
            astore 6 /* instances */
        start local 6 // org.junit.jupiter.api.extension.TestInstances instances
         3: .line 269
            aload 5 /* throwableCollector */
            aload 0 /* this */
            aload 6 /* instances */
            aload 3 /* registry */
            aload 2 /* extensionContext */
            aload 4 /* registrar */
            invokedynamic execute(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Lorg/junit/jupiter/api/extension/TestInstances;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$4(Lorg/junit/jupiter/api/extension/TestInstances;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;)V (7)
                  ()V
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
         4: .line 276
            aload 6 /* instances */
            areturn
        end local 6 // org.junit.jupiter.api.extension.TestInstances instances
        end local 5 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 4 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        end local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext parentExecutionContext
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    5     0                    this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    5     1  parentExecutionContext  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            0    5     2        extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    5     3                registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    5     4               registrar  Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;
            0    5     5      throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            3    5     6               instances  Lorg/junit/jupiter/api/extension/TestInstances;
    MethodParameters:
                        Name  Flags
      parentExecutionContext  
      extensionContext        
      registry                
      registrar               
      throwableCollector      

  protected abstract org.junit.jupiter.api.extension.TestInstances instantiateTestClass(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.extension.ExtensionRegistrar, org.junit.jupiter.api.extension.ExtensionContext, org.junit.platform.engine.support.hierarchical.ThrowableCollector);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
                        Name  Flags
      parentExecutionContext  
      registry                
      registrar               
      extensionContext        
      throwableCollector      

  protected org.junit.jupiter.api.extension.TestInstances instantiateTestClass(java.util.Optional<org.junit.jupiter.api.extension.TestInstances>, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Ljava/util/Optional;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/jupiter/api/extension/TestInstances;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.util.Optional outerInstances
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         0: .line 286
            aload 1 /* outerInstances */
            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/jupiter/api/extension/TestInstances.getInnermostInstance()Ljava/lang/Object; (9 itf)
                  (Lorg/junit/jupiter/api/extension/TestInstances;)Ljava/lang/Object;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            astore 4 /* outerInstance */
        start local 4 // java.util.Optional outerInstance
         1: .line 287
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testInstanceFactory:Lorg/junit/jupiter/api/extension/TestInstanceFactory;
            ifnull 3
         2: .line 288
            aload 0 /* this */
            aload 4 /* outerInstance */
            aload 3 /* extensionContext */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstanceFactory:(Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
            goto 4
         3: .line 289
      StackMap locals: java.util.Optional
      StackMap stack:
            aload 0 /* this */
            aload 4 /* outerInstance */
            aload 2 /* registry */
            aload 3 /* extensionContext */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestClassConstructor:(Ljava/util/Optional;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
         4: .line 287
      StackMap locals:
      StackMap stack: java.lang.Object
            astore 5 /* instance */
        start local 5 // java.lang.Object instance
         5: .line 290
            aload 1 /* outerInstances */
            aload 5 /* instance */
            invokedynamic apply(Ljava/lang/Object;)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/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$6(Ljava/lang/Object;Lorg/junit/jupiter/api/extension/TestInstances;)Lorg/junit/jupiter/engine/execution/DefaultTestInstances; (6)
                  (Lorg/junit/jupiter/api/extension/TestInstances;)Lorg/junit/jupiter/engine/execution/DefaultTestInstances;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
         6: .line 291
            aload 5 /* instance */
            invokestatic org.junit.jupiter.engine.execution.DefaultTestInstances.of:(Ljava/lang/Object;)Lorg/junit/jupiter/engine/execution/DefaultTestInstances;
         7: .line 290
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.junit.jupiter.api.extension.TestInstances
            areturn
        end local 5 // java.lang.Object instance
        end local 4 // java.util.Optional outerInstance
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 1 // java.util.Optional outerInstances
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    8     1    outerInstances  Ljava/util/Optional<Lorg/junit/jupiter/api/extension/TestInstances;>;
            0    8     2          registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    8     3  extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            1    8     4     outerInstance  Ljava/util/Optional<Ljava/lang/Object;>;
            5    8     5          instance  Ljava/lang/Object;
    Signature: (Ljava/util/Optional<Lorg/junit/jupiter/api/extension/TestInstances;>;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/jupiter/api/extension/TestInstances;
    MethodParameters:
                  Name  Flags
      outerInstances    
      registry          
      extensionContext  

  private  invokeTestInstanceFactory(java.util.Optional<java.lang.Object>, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Ljava/util/Optional;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.util.Optional outerInstance
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         0: .line 298
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testInstanceFactory:Lorg/junit/jupiter/api/extension/TestInstanceFactory;
         1: .line 299
            new org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext
            dup
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            aload 1 /* outerInstance */
            invokespecial org.junit.jupiter.engine.descriptor.DefaultTestInstanceFactoryContext.<init>:(Ljava/lang/Class;Ljava/util/Optional;)V
            aload 2 /* extensionContext */
         2: .line 298
            invokeinterface org.junit.jupiter.api.extension.TestInstanceFactory.createTestInstance:(Lorg/junit/jupiter/api/extension/TestInstanceFactoryContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
            astore 3 /* instance */
        start local 3 // java.lang.Object instance
         3: .line 300
            goto 14
        end local 3 // java.lang.Object instance
         4: .line 301
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4 /* throwable */
        start local 4 // java.lang.Throwable throwable
         5: .line 302
            aload 4 /* throwable */
            invokestatic org.junit.platform.commons.util.UnrecoverableExceptions.rethrowIfUnrecoverable:(Ljava/lang/Throwable;)V
         6: .line 304
            aload 4 /* throwable */
            instanceof org.junit.jupiter.api.extension.TestInstantiationException
            ifeq 8
         7: .line 305
            aload 4 /* throwable */
            checkcast org.junit.jupiter.api.extension.TestInstantiationException
            athrow
         8: .line 308
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor java.util.Optional org.junit.jupiter.api.extension.ExtensionContext top java.lang.Throwable
      StackMap stack:
            ldc "TestInstanceFactory [%s] failed to instantiate test class [%s]"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 309
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testInstanceFactory:Lorg/junit/jupiter/api/extension/TestInstanceFactory;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        10: .line 308
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* message */
        start local 5 // java.lang.String message
        11: .line 310
            aload 4 /* throwable */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokestatic org.junit.platform.commons.util.StringUtils.isNotBlank:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 311
            new java.lang.StringBuilder
            dup
            aload 5 /* 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 4 /* 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 5 /* message */
        13: .line 313
      StackMap locals: java.lang.String
      StackMap stack:
            new org.junit.jupiter.api.extension.TestInstantiationException
            dup
            aload 5 /* message */
            aload 4 /* throwable */
            invokespecial org.junit.jupiter.api.extension.TestInstantiationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.String message
        end local 4 // java.lang.Throwable throwable
        start local 3 // java.lang.Object instance
        14: .line 316
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor java.util.Optional org.junit.jupiter.api.extension.ExtensionContext java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            aload 3 /* instance */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 29
        15: .line 317
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* testClassName */
        start local 4 // java.lang.String testClassName
        16: .line 318
            aload 3 /* instance */
            ifnonnull 17
            aconst_null
            goto 18
      StackMap locals: java.lang.String
      StackMap stack:
        17: aload 3 /* instance */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
        18: astore 5 /* instanceClass */
        start local 5 // java.lang.Class instanceClass
        19: .line 319
            aload 5 /* instanceClass */
            ifnonnull 20
            ldc "null"
            goto 21
      StackMap locals: java.lang.Class
      StackMap stack:
        20: aload 5 /* instanceClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        21: astore 6 /* instanceClassName */
        start local 6 // java.lang.String instanceClassName
        22: .line 324
            aload 4 /* testClassName */
            aload 6 /* instanceClassName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        23: .line 325
            new java.lang.StringBuilder
            dup
            aload 4 /* testClassName */
            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 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* testClassName */
        24: .line 326
            new java.lang.StringBuilder
            dup
            aload 6 /* instanceClassName */
            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 /* instanceClass */
            invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 6 /* instanceClassName */
        25: .line 329
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "TestInstanceFactory [%s] failed to return an instance of [%s] and instead returned an instance of [%s]."
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        26: .line 330
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testInstanceFactory:Lorg/junit/jupiter/api/extension/TestInstanceFactory;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* testClassName */
            aastore
            dup
            iconst_2
            aload 6 /* instanceClassName */
            aastore
        27: .line 328
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* message */
        start local 7 // java.lang.String message
        28: .line 332
            new org.junit.jupiter.api.extension.TestInstantiationException
            dup
            aload 7 /* message */
            invokespecial org.junit.jupiter.api.extension.TestInstantiationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.String message
        end local 6 // java.lang.String instanceClassName
        end local 5 // java.lang.Class instanceClass
        end local 4 // java.lang.String testClassName
        29: .line 335
      StackMap locals:
      StackMap stack:
            aload 3 /* instance */
            areturn
        end local 3 // java.lang.Object instance
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 1 // java.util.Optional outerInstance
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   30     0               this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0   30     1      outerInstance  Ljava/util/Optional<Ljava/lang/Object;>;
            0   30     2   extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            3    4     3           instance  Ljava/lang/Object;
           14   30     3           instance  Ljava/lang/Object;
            5   14     4          throwable  Ljava/lang/Throwable;
           11   14     5            message  Ljava/lang/String;
           16   29     4      testClassName  Ljava/lang/String;
           19   29     5      instanceClass  Ljava/lang/Class<*>;
           22   29     6  instanceClassName  Ljava/lang/String;
           28   29     7            message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    Signature: (Ljava/util/Optional<Ljava/lang/Object;>;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      outerInstance     
      extensionContext  

  private  invokeTestClassConstructor(java.util.Optional<java.lang.Object>, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Ljava/util/Optional;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.util.Optional outerInstance
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         0: .line 341
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokestatic org.junit.platform.commons.util.ReflectionUtils.getDeclaredConstructor:(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 4 /* constructor */
        start local 4 // java.lang.reflect.Constructor constructor
         1: .line 342
            getstatic org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executableInvoker:Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            aload 4 /* constructor */
            aload 1 /* outerInstance */
            aload 3 /* extensionContext */
            aload 2 /* registry */
         2: .line 343
            invokedynamic apply()Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
              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;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
                  org/junit/jupiter/api/extension/InvocationInterceptor.interceptTestClassConstructor(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object; (9 itf)
                  (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;
         3: .line 342
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.invoke:(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;
            areturn
        end local 4 // java.lang.reflect.Constructor constructor
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 1 // java.util.Optional outerInstance
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     1     outerInstance  Ljava/util/Optional<Ljava/lang/Object;>;
            0    4     2          registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    4     3  extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            1    4     4       constructor  Ljava/lang/reflect/Constructor<*>;
    Signature: (Ljava/util/Optional<Ljava/lang/Object;>;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/lang/Object;
    MethodParameters:
                  Name  Flags
      outerInstance     
      registry          
      extensionContext  

  private void invokeTestInstancePostProcessors(java.lang.Object, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Ljava/lang/Object;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.lang.Object instance
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext context
         0: .line 349
            aload 2 /* registry */
            ldc Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;
            invokeinterface org.junit.jupiter.engine.extension.ExtensionRegistry.stream:(Ljava/lang/Class;)Ljava/util/stream/Stream;
         1: .line 350
            aload 0 /* this */
            aload 1 /* instance */
            aload 3 /* context */
            invokedynamic accept(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/util/function/Consumer;
              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;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$8(Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;)V (7)
                  (Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;)V
         2: .line 349
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         3: .line 351
            return
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext context
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 1 // java.lang.Object instance
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     1  instance  Ljava/lang/Object;
            0    4     2  registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    4     3   context  Lorg/junit/jupiter/api/extension/ExtensionContext;
    MethodParameters:
          Name  Flags
      instance  
      registry  
      context   

  private void executeAndMaskThrowable(org.junit.jupiter.api.function.Executable);
    descriptor: (Lorg/junit/jupiter/api/function/Executable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.api.function.Executable executable
         0: .line 355
            aload 1 /* executable */
            invokeinterface org.junit.jupiter.api.function.Executable.execute:()V
         1: .line 356
            goto 4
         2: .line 357
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2 /* throwable */
        start local 2 // java.lang.Throwable throwable
         3: .line 358
            aload 2 /* throwable */
            invokestatic org.junit.platform.commons.util.ExceptionUtils.throwAsUncheckedException:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            pop
        end local 2 // java.lang.Throwable throwable
         4: .line 360
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.junit.jupiter.api.function.Executable executable
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    5     1  executable  Lorg/junit/jupiter/api/function/Executable;
            3    4     2   throwable  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Throwable
    MethodParameters:
            Name  Flags
      executable  

  private void invokeBeforeAllCallbacks(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 363
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            astore 2 /* registry */
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
         1: .line 364
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            astore 3 /* extensionContext */
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         2: .line 365
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 4 /* throwableCollector */
        start local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         3: .line 367
            aload 2 /* registry */
            ldc Lorg/junit/jupiter/api/extension/BeforeAllCallback;
            invokeinterface org.junit.jupiter.engine.extension.ExtensionRegistry.getExtensions:(Ljava/lang/Class;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.ExtensionRegistry org.junit.jupiter.api.extension.ExtensionContext org.junit.platform.engine.support.hierarchical.ThrowableCollector top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.junit.jupiter.api.extension.BeforeAllCallback
            astore 5 /* callback */
        start local 5 // org.junit.jupiter.api.extension.BeforeAllCallback callback
         5: .line 368
            aload 4 /* throwableCollector */
            aload 5 /* callback */
            aload 3 /* extensionContext */
            invokedynamic execute(Lorg/junit/jupiter/api/extension/BeforeAllCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$10(Lorg/junit/jupiter/api/extension/BeforeAllCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (6)
                  ()V
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
         6: .line 369
            aload 4 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.isNotEmpty:()Z
            ifeq 8
         7: .line 370
            goto 9
        end local 5 // org.junit.jupiter.api.extension.BeforeAllCallback callback
         8: .line 367
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 373
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.ExtensionRegistry org.junit.jupiter.api.extension.ExtensionContext org.junit.platform.engine.support.hierarchical.ThrowableCollector
      StackMap stack:
            return
        end local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0   10     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            1   10     2            registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            2   10     3    extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            3   10     4  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            5    8     5            callback  Lorg/junit/jupiter/api/extension/BeforeAllCallback;
    MethodParameters:
         Name  Flags
      context  

  private void invokeBeforeAllMethods(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 376
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            astore 2 /* registry */
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
         1: .line 377
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            astore 3 /* extensionContext */
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         2: .line 378
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 4 /* throwableCollector */
        start local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         3: .line 379
            aload 3 /* extensionContext */
            invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getTestInstance:()Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* testInstance */
        start local 5 // java.lang.Object testInstance
         4: .line 381
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.beforeAllMethods:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.ExtensionRegistry org.junit.jupiter.api.extension.ExtensionContext org.junit.platform.engine.support.hierarchical.ThrowableCollector java.lang.Object top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            astore 6 /* method */
        start local 6 // java.lang.reflect.Method method
         6: .line 382
            aload 4 /* throwableCollector */
            aload 0 /* this */
            aload 6 /* method */
            aload 5 /* testInstance */
            aload 3 /* extensionContext */
            aload 2 /* registry */
            invokedynamic execute(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$11(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V (7)
                  ()V
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
         7: .line 391
            aload 4 /* throwableCollector */
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.isNotEmpty:()Z
            ifeq 9
         8: .line 392
            goto 10
        end local 6 // java.lang.reflect.Method method
         9: .line 381
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 395
      StackMap locals: org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor org.junit.jupiter.engine.execution.JupiterEngineExecutionContext org.junit.jupiter.engine.extension.ExtensionRegistry org.junit.jupiter.api.extension.ExtensionContext org.junit.platform.engine.support.hierarchical.ThrowableCollector java.lang.Object
      StackMap stack:
            return
        end local 5 // java.lang.Object testInstance
        end local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0   11     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            1   11     2            registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            2   11     3    extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            3   11     4  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            4   11     5        testInstance  Ljava/lang/Object;
            6    9     6              method  Ljava/lang/reflect/Method;
    MethodParameters:
         Name  Flags
      context  

  private void invokeBeforeAllMethodExecutionExceptionHandlers(org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.api.extension.ExtensionContext, java.lang.Throwable);
    descriptor: (Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext context
        start local 3 // java.lang.Throwable throwable
         0: .line 400
            aload 0 /* this */
            ldc Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;
            aload 1 /* registry */
            aload 3 /* throwable */
         1: .line 401
            aload 2 /* context */
            invokedynamic invoke(Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor$ExceptionHandlerInvoker;
              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/Extension;Ljava/lang/Throwable;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$13(Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;Ljava/lang/Throwable;)V (6)
                  (Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;Ljava/lang/Throwable;)V
         2: .line 400
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeExecutionExceptionHandlers:(Ljava/lang/Class;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Ljava/lang/Throwable;Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor$ExceptionHandlerInvoker;)V
         3: .line 402
            return
        end local 3 // java.lang.Throwable throwable
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext context
        end local 1 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     1   registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    4     2    context  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    4     3  throwable  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      registry   
      context    
      throwable  

  private void invokeAfterAllMethods(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 405
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            astore 2 /* registry */
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
         1: .line 406
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            astore 3 /* extensionContext */
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         2: .line 407
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 4 /* throwableCollector */
        start local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         3: .line 408
            aload 3 /* extensionContext */
            invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getTestInstance:()Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* testInstance */
        start local 5 // java.lang.Object testInstance
         4: .line 410
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.afterAllMethods:Ljava/util/List;
            aload 0 /* this */
            aload 4 /* throwableCollector */
            aload 5 /* testInstance */
            aload 3 /* extensionContext */
            aload 2 /* registry */
            invokedynamic accept(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)Ljava/util/function/Consumer;
              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;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$14(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Ljava/lang/reflect/Method;)V (7)
                  (Ljava/lang/reflect/Method;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         5: .line 419
            return
        end local 5 // java.lang.Object testInstance
        end local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    6     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            1    6     2            registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            2    6     3    extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            3    6     4  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            4    6     5        testInstance  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      context  

  private void invokeAfterAllMethodExecutionExceptionHandlers(org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.api.extension.ExtensionContext, java.lang.Throwable);
    descriptor: (Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext context
        start local 3 // java.lang.Throwable throwable
         0: .line 424
            aload 0 /* this */
            ldc Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;
            aload 1 /* registry */
            aload 3 /* throwable */
         1: .line 425
            aload 2 /* context */
            invokedynamic invoke(Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor$ExceptionHandlerInvoker;
              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/Extension;Ljava/lang/Throwable;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$17(Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;Ljava/lang/Throwable;)V (6)
                  (Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;Ljava/lang/Throwable;)V
         2: .line 424
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeExecutionExceptionHandlers:(Ljava/lang/Class;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Ljava/lang/Throwable;Lorg/junit/jupiter/engine/descriptor/JupiterTestDescriptor$ExceptionHandlerInvoker;)V
         3: .line 426
            return
        end local 3 // java.lang.Throwable throwable
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext context
        end local 1 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     1   registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    4     2    context  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    4     3  throwable  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      registry   
      context    
      throwable  

  private void invokeAfterAllCallbacks(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 429
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            astore 2 /* registry */
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
         1: .line 430
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            astore 3 /* extensionContext */
        start local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         2: .line 431
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 4 /* throwableCollector */
        start local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         3: .line 433
            aload 2 /* registry */
            ldc Lorg/junit/jupiter/api/extension/AfterAllCallback;
            invokeinterface org.junit.jupiter.engine.extension.ExtensionRegistry.getReversedExtensions:(Ljava/lang/Class;)Ljava/util/List;
         4: .line 434
            aload 4 /* throwableCollector */
            aload 3 /* extensionContext */
            invokedynamic accept(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/util/function/Consumer;
              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;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$18(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/AfterAllCallback;)V (6)
                  (Lorg/junit/jupiter/api/extension/AfterAllCallback;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         5: .line 435
            return
        end local 4 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 3 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    6     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            1    6     2            registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            2    6     3    extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            3    6     4  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
    MethodParameters:
         Name  Flags
      context  

  private void invokeTestInstancePreDestroyCallbacks(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 438
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            astore 2 /* extensionContext */
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
         1: .line 439
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getThrowableCollector:()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            astore 3 /* throwableCollector */
        start local 3 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         2: .line 441
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            ldc Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;
            invokevirtual org.junit.jupiter.engine.extension.MutableExtensionRegistry.getReversedExtensions:(Ljava/lang/Class;)Ljava/util/List;
         3: .line 442
            aload 3 /* throwableCollector */
            aload 2 /* extensionContext */
            invokedynamic accept(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/api/extension/ExtensionContext;)Ljava/util/function/Consumer;
              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;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$20(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;)V (6)
                  (Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;)V
         4: .line 441
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         5: .line 443
            return
        end local 3 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    6     1             context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            1    6     2    extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            2    6     3  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
    MethodParameters:
         Name  Flags
      context  

  private boolean isPerClassLifecycle(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
         0: .line 446
            aload 1 /* context */
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionContext:()Lorg/junit/jupiter/api/extension/ExtensionContext;
            invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getTestInstanceLifecycle:()Ljava/util/Optional;
         1: .line 447
            getstatic org.junit.jupiter.api.TestInstance$Lifecycle.PER_METHOD:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
         2: .line 446
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
         3: .line 447
            getstatic org.junit.jupiter.api.TestInstance$Lifecycle.PER_CLASS:Lorg/junit/jupiter/api/TestInstance$Lifecycle;
         4: .line 446
            if_acmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 1 // org.junit.jupiter.engine.execution.JupiterEngineExecutionContext context
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    6     1  context  Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
    MethodParameters:
         Name  Flags
      context  

  private void registerBeforeEachMethodAdapters(org.junit.jupiter.engine.extension.ExtensionRegistrar);
    descriptor: (Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
         0: .line 451
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokestatic org.junit.jupiter.engine.descriptor.LifecycleMethodUtils.findBeforeEachMethods:(Ljava/lang/Class;)Ljava/util/List;
            astore 2 /* beforeEachMethods */
        start local 2 // java.util.List beforeEachMethods
         1: .line 452
            aload 0 /* this */
            aload 2 /* beforeEachMethods */
            aload 1 /* registrar */
            aload 0 /* this */
            invokedynamic apply(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;)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/jupiter/engine/descriptor/ClassBasedTestDescriptor.synthesizeBeforeEachMethodAdapter(Ljava/lang/reflect/Method;)Lorg/junit/jupiter/engine/execution/BeforeEachMethodAdapter; (7)
                  (Ljava/lang/reflect/Method;)Lorg/junit/jupiter/api/extension/Extension;
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.registerMethodsAsExtensions:(Ljava/util/List;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/util/function/Function;)V
         2: .line 453
            return
        end local 2 // java.util.List beforeEachMethods
        end local 1 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    3     1          registrar  Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;
            1    3     2  beforeEachMethods  Ljava/util/List<Ljava/lang/reflect/Method;>;
    MethodParameters:
           Name  Flags
      registrar  

  private void registerAfterEachMethodAdapters(org.junit.jupiter.engine.extension.ExtensionRegistrar);
    descriptor: (Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
         0: .line 457
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokestatic org.junit.jupiter.engine.descriptor.LifecycleMethodUtils.findAfterEachMethods:(Ljava/lang/Class;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* afterEachMethods */
        start local 2 // java.util.List afterEachMethods
         1: .line 463
            aload 2 /* afterEachMethods */
            invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
         2: .line 465
            aload 0 /* this */
            aload 2 /* afterEachMethods */
            aload 1 /* registrar */
            aload 0 /* this */
            invokedynamic apply(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;)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/jupiter/engine/descriptor/ClassBasedTestDescriptor.synthesizeAfterEachMethodAdapter(Ljava/lang/reflect/Method;)Lorg/junit/jupiter/engine/execution/AfterEachMethodAdapter; (7)
                  (Ljava/lang/reflect/Method;)Lorg/junit/jupiter/api/extension/Extension;
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.registerMethodsAsExtensions:(Ljava/util/List;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/util/function/Function;)V
         3: .line 466
            return
        end local 2 // java.util.List afterEachMethods
        end local 1 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     1         registrar  Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;
            1    4     2  afterEachMethods  Ljava/util/List<Ljava/lang/reflect/Method;>;
    MethodParameters:
           Name  Flags
      registrar  

  private void registerMethodsAsExtensions(java.util.List<java.lang.reflect.Method>, org.junit.jupiter.engine.extension.ExtensionRegistrar, java.util.function.Function<java.lang.reflect.Method, org.junit.jupiter.api.extension.Extension>);
    descriptor: (Ljava/util/List;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/util/function/Function;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.util.List methods
        start local 2 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        start local 3 // java.util.function.Function extensionSynthesizer
         0: .line 471
            aload 1 /* methods */
            aload 2 /* registrar */
            aload 3 /* extensionSynthesizer */
            invokedynamic accept(Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/util/function/Function;)Ljava/util/function/Consumer;
              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;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$24(Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/util/function/Function;Ljava/lang/reflect/Method;)V (6)
                  (Ljava/lang/reflect/Method;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         1: .line 472
            return
        end local 3 // java.util.function.Function extensionSynthesizer
        end local 2 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        end local 1 // java.util.List methods
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    2     0                  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    2     1               methods  Ljava/util/List<Ljava/lang/reflect/Method;>;
            0    2     2             registrar  Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;
            0    2     3  extensionSynthesizer  Ljava/util/function/Function<Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/Extension;>;
    Signature: (Ljava/util/List<Ljava/lang/reflect/Method;>;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/util/function/Function<Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/Extension;>;)V
    MethodParameters:
                      Name  Flags
      methods               
      registrar             
      extensionSynthesizer  

  private org.junit.jupiter.engine.execution.BeforeEachMethodAdapter synthesizeBeforeEachMethodAdapter(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Lorg/junit/jupiter/engine/execution/BeforeEachMethodAdapter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.lang.reflect.Method method
         0: .line 475
            aload 0 /* this */
            aload 1 /* method */
            invokedynamic invokeBeforeEachMethod(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Ljava/lang/reflect/Method;)Lorg/junit/jupiter/engine/execution/BeforeEachMethodAdapter;
              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/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$25(Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V (7)
                  (Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
            areturn
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    1     1  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  private org.junit.jupiter.engine.execution.AfterEachMethodAdapter synthesizeAfterEachMethodAdapter(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Lorg/junit/jupiter/engine/execution/AfterEachMethodAdapter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.lang.reflect.Method method
         0: .line 480
            aload 0 /* this */
            aload 1 /* method */
            invokedynamic invokeAfterEachMethod(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Ljava/lang/reflect/Method;)Lorg/junit/jupiter/engine/execution/AfterEachMethodAdapter;
              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/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$27(Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V (7)
                  (Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
            areturn
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    1     1  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  private void invokeMethodInExtensionContext(java.lang.reflect.Method, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall);
    descriptor: (Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 1 // java.lang.reflect.Method method
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext context
        start local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 4 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall interceptorCall
         0: .line 486
            aload 2 /* context */
            invokeinterface org.junit.jupiter.api.extension.ExtensionContext.getRequiredTestInstances:()Lorg/junit/jupiter/api/extension/TestInstances;
            astore 5 /* testInstances */
        start local 5 // org.junit.jupiter.api.extension.TestInstances testInstances
         1: .line 487
            aload 5 /* testInstances */
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            invokeinterface org.junit.jupiter.api.extension.TestInstances.findInstance:(Ljava/lang/Class;)Ljava/util/Optional;
         2: .line 488
            aload 1 /* method */
            invokedynamic get(Ljava/lang/reflect/Method;)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/descriptor/ClassBasedTestDescriptor.lambda$29(Ljava/lang/reflect/Method;)Lorg/junit/platform/commons/JUnitException; (6)
                  ()Lorg/junit/platform/commons/JUnitException;
         3: .line 487
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            astore 6 /* target */
        start local 6 // java.lang.Object target
         4: .line 490
            getstatic org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executableInvoker:Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            aload 1 /* method */
            aload 6 /* target */
            aload 2 /* context */
            aload 3 /* registry */
         5: .line 491
            aload 4 /* interceptorCall */
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.ofVoidMethod:(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;)Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
         6: .line 490
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.invoke:(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;
            pop
         7: .line 492
            return
        end local 6 // java.lang.Object target
        end local 5 // org.junit.jupiter.api.extension.TestInstances testInstances
        end local 4 // org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall interceptorCall
        end local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext context
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    8     1           method  Ljava/lang/reflect/Method;
            0    8     2          context  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    8     3         registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    8     4  interceptorCall  Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;
            1    8     5    testInstances  Lorg/junit/jupiter/api/extension/TestInstances;
            4    8     6           target  Ljava/lang/Object;
    MethodParameters:
                 Name  Flags
      method           
      context          
      registry         
      interceptorCall  

  public org.junit.platform.engine.support.hierarchical.EngineExecutionContext before(org.junit.platform.engine.support.hierarchical.EngineExecutionContext);
    descriptor: (Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.junit.jupiter.engine.execution.JupiterEngineExecutionContext
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.before:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  public void after(org.junit.platform.engine.support.hierarchical.EngineExecutionContext);
    descriptor: (Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.junit.jupiter.engine.execution.JupiterEngineExecutionContext
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.after:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception

  private static void lambda$0(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.platform.engine.support.hierarchical.ThrowableCollector, org.junit.jupiter.engine.descriptor.ClassExtensionContext);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
         0: .line 184
            aload 0
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getTestInstancesProvider:()Lorg/junit/jupiter/engine/execution/TestInstancesProvider;
         1: .line 185
            aload 0
            invokevirtual org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.getExtensionRegistry:()Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;
            aload 1
         2: .line 184
            invokeinterface org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances:(Lorg/junit/jupiter/engine/extension/MutableExtensionRegistry;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
            astore 3 /* testInstances */
        start local 3 // org.junit.jupiter.api.extension.TestInstances testInstances
         3: .line 186
            aload 2
            aload 3 /* testInstances */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassExtensionContext.setTestInstances:(Lorg/junit/jupiter/api/extension/TestInstances;)V
        end local 3 // org.junit.jupiter.api.extension.TestInstances testInstances
         4: .line 187
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            3    4     3  testInstances  Lorg/junit/jupiter/api/extension/TestInstances;
    Exceptions:
      throws java.lang.Throwable

  private static java.lang.String lambda$1(org.junit.jupiter.api.extension.TestInstanceFactory);
    descriptor: (Lorg/junit/jupiter/api/extension/TestInstanceFactory;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.api.extension.TestInstanceFactory factory
         0: .line 242
            aload 0 /* factory */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.junit.jupiter.api.extension.TestInstanceFactory factory
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  factory  Lorg/junit/jupiter/api/extension/TestInstanceFactory;

  private org.junit.jupiter.api.extension.TestInstances lambda$2(org.junit.jupiter.engine.descriptor.ClassExtensionContext, org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.extension.ExtensionRegistrar, org.junit.platform.engine.support.hierarchical.ThrowableCollector);
    descriptor: (Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        start local 4 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        start local 5 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
         0: .line 258
            aload 1
            invokevirtual org.junit.jupiter.engine.descriptor.ClassExtensionContext.getTestInstances:()Ljava/util/Optional;
         1: .line 259
            aload 0 /* this */
            aload 2
            aload 1
            aload 3 /* registry */
            aload 4 /* registrar */
            aload 5 /* throwableCollector */
            invokedynamic get(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)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/descriptor/ClassBasedTestDescriptor.lambda$3(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances; (7)
                  ()Lorg/junit/jupiter/api/extension/TestInstances;
         2: .line 258
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast org.junit.jupiter.api.extension.TestInstances
         3: .line 260
            areturn
        end local 5 // org.junit.platform.engine.support.hierarchical.ThrowableCollector throwableCollector
        end local 4 // org.junit.jupiter.engine.extension.ExtensionRegistrar registrar
        end local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     3            registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
            0    4     4           registrar  Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;
            0    4     5  throwableCollector  Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;

  private void lambda$4(org.junit.jupiter.api.extension.TestInstances, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistrar);
    descriptor: (Lorg/junit/jupiter/api/extension/TestInstances;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 270
            aload 0 /* this */
            aload 1
            invokeinterface org.junit.jupiter.api.extension.TestInstances.getInnermostInstance:()Ljava/lang/Object;
            aload 2
            aload 3
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors:(Ljava/lang/Object;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
         1: .line 274
            aload 4
            aload 0 /* this */
            getfield org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.testClass:Ljava/lang/Class;
            aload 1
            invokeinterface org.junit.jupiter.api.extension.TestInstances.getInnermostInstance:()Ljava/lang/Object;
            invokestatic org.junit.jupiter.engine.descriptor.ExtensionUtils.registerExtensionsFromFields:(Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/lang/Class;Ljava/lang/Object;)V
         2: .line 275
            return
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
    Exceptions:
      throws java.lang.Throwable

  private static org.junit.jupiter.engine.execution.DefaultTestInstances lambda$6(java.lang.Object, org.junit.jupiter.api.extension.TestInstances);
    descriptor: (Ljava/lang/Object;Lorg/junit/jupiter/api/extension/TestInstances;)Lorg/junit/jupiter/engine/execution/DefaultTestInstances;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.junit.jupiter.api.extension.TestInstances instances
         0: .line 290
            aload 1 /* instances */
            aload 0
            invokestatic org.junit.jupiter.engine.execution.DefaultTestInstances.of:(Lorg/junit/jupiter/api/extension/TestInstances;Ljava/lang/Object;)Lorg/junit/jupiter/engine/execution/DefaultTestInstances;
            areturn
        end local 1 // org.junit.jupiter.api.extension.TestInstances instances
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     1  instances  Lorg/junit/jupiter/api/extension/TestInstances;

  private void lambda$8(java.lang.Object, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.TestInstancePostProcessor);
    descriptor: (Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 3 // org.junit.jupiter.api.extension.TestInstancePostProcessor extension
         0: .line 350
            aload 0 /* this */
            aload 3 /* extension */
            aload 1
            aload 2
            invokedynamic execute(Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/jupiter/api/function/Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$9(Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (6)
                  ()V
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable:(Lorg/junit/jupiter/api/function/Executable;)V
            return
        end local 3 // org.junit.jupiter.api.extension.TestInstancePostProcessor extension
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    1     3  extension  Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;

  private static void lambda$10(org.junit.jupiter.api.extension.BeforeAllCallback, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Lorg/junit/jupiter/api/extension/BeforeAllCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 368
            aload 0
            aload 1
            invokeinterface org.junit.jupiter.api.extension.BeforeAllCallback.beforeAll:(Lorg/junit/jupiter/api/extension/ExtensionContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Throwable

  private void lambda$11(java.lang.reflect.Method, java.lang.Object, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 384
            getstatic org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executableInvoker:Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            aload 1
            aload 2
            aload 3
            aload 4
         1: .line 385
            invokedynamic apply()Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;
              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;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
                  org/junit/jupiter/api/extension/InvocationInterceptor.interceptBeforeAllMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (9 itf)
                  (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;)V
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.ofVoidMethod:(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;)Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
         2: .line 384
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.invoke:(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;
            pop
         3: .line 386
            goto 6
         4: .line 387
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* throwable */
        start local 5 // java.lang.Throwable throwable
         5: .line 388
            aload 0 /* this */
            aload 4
            aload 3
            aload 5 /* throwable */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeBeforeAllMethodExecutionExceptionHandlers:(Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable throwable
         6: .line 390
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            5    6     5  throwable  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    Exceptions:
      throws java.lang.Throwable

  private static void lambda$13(org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler, java.lang.Throwable);
    descriptor: (Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler handler
        start local 2 // java.lang.Throwable handledThrowable
         0: .line 401
            aload 1 /* handler */
            aload 0
            aload 2 /* handledThrowable */
            invokeinterface org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler.handleBeforeAllMethodExecutionException:(Lorg/junit/jupiter/api/extension/ExtensionContext;Ljava/lang/Throwable;)V
            return
        end local 2 // java.lang.Throwable handledThrowable
        end local 1 // org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler handler
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     1           handler  Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;
            0    1     2  handledThrowable  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Throwable

  private void lambda$14(org.junit.platform.engine.support.hierarchical.ThrowableCollector, java.lang.Object, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, java.lang.reflect.Method);
    descriptor: (Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Ljava/lang/reflect/Method;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 5 // java.lang.reflect.Method method
         0: .line 410
            aload 1
            aload 0 /* this */
            aload 5 /* method */
            aload 2
            aload 3
            aload 4
            invokedynamic execute(Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$15(Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V (7)
                  ()V
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
         1: .line 418
            return
        end local 5 // java.lang.reflect.Method method
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    2     5  method  Ljava/lang/reflect/Method;

  private static void lambda$17(org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler, java.lang.Throwable);
    descriptor: (Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 1 // org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler handler
        start local 2 // java.lang.Throwable handledThrowable
         0: .line 425
            aload 1 /* handler */
            aload 0
            aload 2 /* handledThrowable */
            invokeinterface org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler.handleAfterAllMethodExecutionException:(Lorg/junit/jupiter/api/extension/ExtensionContext;Ljava/lang/Throwable;)V
            return
        end local 2 // java.lang.Throwable handledThrowable
        end local 1 // org.junit.jupiter.api.extension.LifecycleMethodExecutionExceptionHandler handler
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     1           handler  Lorg/junit/jupiter/api/extension/LifecycleMethodExecutionExceptionHandler;
            0    1     2  handledThrowable  Ljava/lang/Throwable;
    Exceptions:
      throws java.lang.Throwable

  private static void lambda$18(org.junit.platform.engine.support.hierarchical.ThrowableCollector, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.AfterAllCallback);
    descriptor: (Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/AfterAllCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // org.junit.jupiter.api.extension.AfterAllCallback extension
         0: .line 434
            aload 0
            aload 2 /* extension */
            aload 1
            invokedynamic execute(Lorg/junit/jupiter/api/extension/AfterAllCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$19(Lorg/junit/jupiter/api/extension/AfterAllCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (6)
                  ()V
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
            return
        end local 2 // org.junit.jupiter.api.extension.AfterAllCallback extension
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     2  extension  Lorg/junit/jupiter/api/extension/AfterAllCallback;

  private static void lambda$20(org.junit.platform.engine.support.hierarchical.ThrowableCollector, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.api.extension.TestInstancePreDestroyCallback);
    descriptor: (Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // org.junit.jupiter.api.extension.TestInstancePreDestroyCallback extension
         0: .line 442
            aload 0
            aload 2 /* extension */
            aload 1
            invokedynamic execute(Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;
              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:
                  ()V
                  org/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor.lambda$21(Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (6)
                  ()V
            invokevirtual org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute:(Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Executable;)V
            return
        end local 2 // org.junit.jupiter.api.extension.TestInstancePreDestroyCallback extension
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     2  extension  Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;

  private static void lambda$24(org.junit.jupiter.engine.extension.ExtensionRegistrar, java.util.function.Function, java.lang.reflect.Method);
    descriptor: (Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Ljava/util/function/Function;Ljava/lang/reflect/Method;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 2 // java.lang.reflect.Method method
         0: .line 471
            aload 0
            aload 1
            aload 2 /* method */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.junit.jupiter.api.extension.Extension
            aload 2 /* method */
            invokeinterface org.junit.jupiter.engine.extension.ExtensionRegistrar.registerExtension:(Lorg/junit/jupiter/api/extension/Extension;Ljava/lang/Object;)V
            return
        end local 2 // java.lang.reflect.Method method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     2  method  Ljava/lang/reflect/Method;

  private void lambda$25(java.lang.reflect.Method, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
         0: .line 475
            aload 0 /* this */
            aload 1
            aload 2 /* extensionContext */
            aload 3 /* registry */
         1: .line 476
            invokedynamic apply()Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;
              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;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
                  org/junit/jupiter/api/extension/InvocationInterceptor.interceptBeforeEachMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (9 itf)
                  (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;)V
         2: .line 475
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext:(Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;)V
         3: .line 476
            return
        end local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     2  extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    4     3          registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
    Exceptions:
      throws java.lang.Throwable

  private void lambda$27(java.lang.reflect.Method, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
        start local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        start local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
         0: .line 480
            aload 0 /* this */
            aload 1
            aload 2 /* extensionContext */
            aload 3 /* registry */
         1: .line 481
            invokedynamic apply()Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;
              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;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
                  org/junit/jupiter/api/extension/InvocationInterceptor.interceptAfterEachMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (9 itf)
                  (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;)V
         2: .line 480
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeMethodInExtensionContext:(Ljava/lang/reflect/Method;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;)V
         3: .line 481
            return
        end local 3 // org.junit.jupiter.engine.extension.ExtensionRegistry registry
        end local 2 // org.junit.jupiter.api.extension.ExtensionContext extensionContext
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            0    4     2  extensionContext  Lorg/junit/jupiter/api/extension/ExtensionContext;
            0    4     3          registry  Lorg/junit/jupiter/engine/extension/ExtensionRegistry;
    Exceptions:
      throws java.lang.Throwable

  private static org.junit.platform.commons.JUnitException lambda$29(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)Lorg/junit/platform/commons/JUnitException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 488
            new org.junit.platform.commons.JUnitException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to find instance for method: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.reflect.Method.toGenericString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.junit.platform.commons.JUnitException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private org.junit.jupiter.api.extension.TestInstances lambda$3(org.junit.jupiter.engine.execution.JupiterEngineExecutionContext, org.junit.jupiter.engine.descriptor.ClassExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry, org.junit.jupiter.engine.extension.ExtensionRegistrar, org.junit.platform.engine.support.hierarchical.ThrowableCollector);
    descriptor: (Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/engine/descriptor/ClassExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 259
            aload 0 /* this */
            aload 1
            aload 2
            aload 3
            aload 4
         1: .line 260
            aload 5
         2: .line 259
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance:(Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/engine/extension/ExtensionRegistrar;Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;)Lorg/junit/jupiter/api/extension/TestInstances;
         3: .line 260
            areturn
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;

  private static void lambda$9(org.junit.jupiter.api.extension.TestInstancePostProcessor, java.lang.Object, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Lorg/junit/jupiter/api/extension/TestInstancePostProcessor;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 350
            aload 0
            aload 1
            aload 2
            invokeinterface org.junit.jupiter.api.extension.TestInstancePostProcessor.postProcessTestInstance:(Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Throwable

  private void lambda$15(java.lang.reflect.Method, java.lang.Object, org.junit.jupiter.api.extension.ExtensionContext, org.junit.jupiter.engine.extension.ExtensionRegistry);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;Lorg/junit/jupiter/api/extension/ExtensionContext;Lorg/junit/jupiter/engine/extension/ExtensionRegistry;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
         0: .line 412
            getstatic org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executableInvoker:Lorg/junit/jupiter/engine/execution/ExecutableInvoker;
            aload 1
            aload 2
            aload 3
            aload 4
         1: .line 413
            invokedynamic apply()Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;
              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;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
                  org/junit/jupiter/api/extension/InvocationInterceptor.interceptAfterAllMethod(Lorg/junit/jupiter/api/extension/InvocationInterceptor$Invocation;Lorg/junit/jupiter/api/extension/ReflectiveInvocationContext;Lorg/junit/jupiter/api/extension/ExtensionContext;)V (9 itf)
                  (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;)V
            invokestatic org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.ofVoidMethod:(Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall;)Lorg/junit/jupiter/engine/execution/ExecutableInvoker$ReflectiveInterceptorCall;
         2: .line 412
            invokevirtual org.junit.jupiter.engine.execution.ExecutableInvoker.invoke:(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;
            pop
         3: .line 414
            goto 6
         4: .line 415
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* throwable */
        start local 5 // java.lang.Throwable throwable
         5: .line 416
            aload 0 /* this */
            aload 4
            aload 3
            aload 5 /* throwable */
            invokevirtual org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeAfterAllMethodExecutionExceptionHandlers:(Lorg/junit/jupiter/engine/extension/ExtensionRegistry;Lorg/junit/jupiter/api/extension/ExtensionContext;Ljava/lang/Throwable;)V
        end local 5 // java.lang.Throwable throwable
         6: .line 418
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/junit/jupiter/engine/descriptor/ClassBasedTestDescriptor;
            5    6     5  throwable  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    Exceptions:
      throws java.lang.Throwable

  private static void lambda$19(org.junit.jupiter.api.extension.AfterAllCallback, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Lorg/junit/jupiter/api/extension/AfterAllCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 434
            aload 0
            aload 1
            invokeinterface org.junit.jupiter.api.extension.AfterAllCallback.afterAll:(Lorg/junit/jupiter/api/extension/ExtensionContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Throwable

  private static void lambda$21(org.junit.jupiter.api.extension.TestInstancePreDestroyCallback, org.junit.jupiter.api.extension.ExtensionContext);
    descriptor: (Lorg/junit/jupiter/api/extension/TestInstancePreDestroyCallback;Lorg/junit/jupiter/api/extension/ExtensionContext;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 442
            aload 0
            aload 1
            invokeinterface org.junit.jupiter.api.extension.TestInstancePreDestroyCallback.preDestroyTestInstance:(Lorg/junit/jupiter/api/extension/ExtensionContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Throwable
}
SourceFile: "ClassBasedTestDescriptor.java"
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 final Lifecycle = org.junit.jupiter.api.TestInstance$Lifecycle of org.junit.jupiter.api.TestInstance
  abstract ExceptionHandlerInvoker = org.junit.jupiter.engine.descriptor.JupiterTestDescriptor$ExceptionHandlerInvoker of org.junit.jupiter.engine.descriptor.JupiterTestDescriptor
  public abstract ReflectiveInterceptorCall = org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall of org.junit.jupiter.engine.execution.ExecutableInvoker
  public abstract VoidMethodInterceptorCall = org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall$VoidMethodInterceptorCall of org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall
  public Builder = org.junit.jupiter.engine.execution.JupiterEngineExecutionContext$Builder of org.junit.jupiter.engine.execution.JupiterEngineExecutionContext
  public final Type = org.junit.platform.engine.TestDescriptor$Type of org.junit.platform.engine.TestDescriptor
  public final ExecutionMode = org.junit.platform.engine.support.hierarchical.Node$ExecutionMode of org.junit.platform.engine.support.hierarchical.Node
  public abstract Executable = org.junit.platform.engine.support.hierarchical.ThrowableCollector$Executable of org.junit.platform.engine.support.hierarchical.ThrowableCollector
    RuntimeVisibleAnnotations: 
      org.apiguardian.api.API(status = org.apiguardian.api.API$Status.INTERNAL:Lorg/apiguardian/api/API$Status;, since = "5.5")