public final class org.junit.jupiter.engine.JupiterTestEngine extends org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine<org.junit.jupiter.engine.execution.JupiterEngineExecutionContext>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.junit.jupiter.engine.JupiterTestEngine
  super_class: org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
         0: .line 41
            aload 0 /* this */
            invokespecial org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.<init>:()V
            return
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/JupiterTestEngine;

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
         0: .line 45
            ldc "junit-jupiter"
            areturn
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/JupiterTestEngine;

  public java.util.Optional<java.lang.String> getGroupId();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
         0: .line 53
            ldc "org.junit.jupiter"
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/JupiterTestEngine;
    Signature: ()Ljava/util/Optional<Ljava/lang/String;>;

  public java.util.Optional<java.lang.String> getArtifactId();
    descriptor: ()Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
         0: .line 61
            ldc "junit-jupiter-engine"
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/junit/jupiter/engine/JupiterTestEngine;
    Signature: ()Ljava/util/Optional<Ljava/lang/String;>;

  public org.junit.platform.engine.TestDescriptor discover(org.junit.platform.engine.EngineDiscoveryRequest, org.junit.platform.engine.UniqueId);
    descriptor: (Lorg/junit/platform/engine/EngineDiscoveryRequest;Lorg/junit/platform/engine/UniqueId;)Lorg/junit/platform/engine/TestDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
        start local 1 // org.junit.platform.engine.EngineDiscoveryRequest discoveryRequest
        start local 2 // org.junit.platform.engine.UniqueId uniqueId
         0: .line 66
            new org.junit.jupiter.engine.config.CachingJupiterConfiguration
            dup
         1: .line 67
            new org.junit.jupiter.engine.config.DefaultJupiterConfiguration
            dup
            aload 1 /* discoveryRequest */
            invokeinterface org.junit.platform.engine.EngineDiscoveryRequest.getConfigurationParameters:()Lorg/junit/platform/engine/ConfigurationParameters;
            invokespecial org.junit.jupiter.engine.config.DefaultJupiterConfiguration.<init>:(Lorg/junit/platform/engine/ConfigurationParameters;)V
         2: .line 66
            invokespecial org.junit.jupiter.engine.config.CachingJupiterConfiguration.<init>:(Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
            astore 3 /* configuration */
        start local 3 // org.junit.jupiter.engine.config.JupiterConfiguration configuration
         3: .line 68
            new org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor
            dup
            aload 2 /* uniqueId */
            aload 3 /* configuration */
            invokespecial org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor.<init>:(Lorg/junit/platform/engine/UniqueId;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
            astore 4 /* engineDescriptor */
        start local 4 // org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor engineDescriptor
         4: .line 69
            new org.junit.jupiter.engine.discovery.DiscoverySelectorResolver
            dup
            invokespecial org.junit.jupiter.engine.discovery.DiscoverySelectorResolver.<init>:()V
            aload 1 /* discoveryRequest */
            aload 3 /* configuration */
            aload 4 /* engineDescriptor */
            invokevirtual org.junit.jupiter.engine.discovery.DiscoverySelectorResolver.resolveSelectors:(Lorg/junit/platform/engine/EngineDiscoveryRequest;Lorg/junit/jupiter/engine/config/JupiterConfiguration;Lorg/junit/platform/engine/TestDescriptor;)V
         5: .line 70
            aload 4 /* engineDescriptor */
            areturn
        end local 4 // org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor engineDescriptor
        end local 3 // org.junit.jupiter.engine.config.JupiterConfiguration configuration
        end local 2 // org.junit.platform.engine.UniqueId uniqueId
        end local 1 // org.junit.platform.engine.EngineDiscoveryRequest discoveryRequest
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/junit/jupiter/engine/JupiterTestEngine;
            0    6     1  discoveryRequest  Lorg/junit/platform/engine/EngineDiscoveryRequest;
            0    6     2          uniqueId  Lorg/junit/platform/engine/UniqueId;
            3    6     3     configuration  Lorg/junit/jupiter/engine/config/JupiterConfiguration;
            4    6     4  engineDescriptor  Lorg/junit/jupiter/engine/descriptor/JupiterEngineDescriptor;
    MethodParameters:
                  Name  Flags
      discoveryRequest  
      uniqueId          

  protected org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutorService createExecutorService(org.junit.platform.engine.ExecutionRequest);
    descriptor: (Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/platform/engine/support/hierarchical/HierarchicalTestExecutorService;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
        start local 1 // org.junit.platform.engine.ExecutionRequest request
         0: .line 75
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.junit.jupiter.engine.JupiterTestEngine.getJupiterConfiguration:(Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/jupiter/engine/config/JupiterConfiguration;
            astore 2 /* configuration */
        start local 2 // org.junit.jupiter.engine.config.JupiterConfiguration configuration
         1: .line 76
            aload 2 /* configuration */
            invokeinterface org.junit.jupiter.engine.config.JupiterConfiguration.isParallelExecutionEnabled:()Z
            ifeq 5
         2: .line 77
            new org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService
            dup
            new org.junit.platform.engine.support.config.PrefixedConfigurationParameters
            dup
         3: .line 78
            aload 1 /* request */
            invokevirtual org.junit.platform.engine.ExecutionRequest.getConfigurationParameters:()Lorg/junit/platform/engine/ConfigurationParameters;
            ldc "junit.jupiter.execution.parallel.config."
            invokespecial org.junit.platform.engine.support.config.PrefixedConfigurationParameters.<init>:(Lorg/junit/platform/engine/ConfigurationParameters;Ljava/lang/String;)V
         4: .line 77
            invokespecial org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.<init>:(Lorg/junit/platform/engine/ConfigurationParameters;)V
            areturn
         5: .line 80
      StackMap locals: org.junit.jupiter.engine.config.JupiterConfiguration
      StackMap stack:
            aload 0 /* this */
            aload 1 /* request */
            invokespecial org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.createExecutorService:(Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/platform/engine/support/hierarchical/HierarchicalTestExecutorService;
            areturn
        end local 2 // org.junit.jupiter.engine.config.JupiterConfiguration configuration
        end local 1 // org.junit.platform.engine.ExecutionRequest request
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/junit/jupiter/engine/JupiterTestEngine;
            0    6     1        request  Lorg/junit/platform/engine/ExecutionRequest;
            1    6     2  configuration  Lorg/junit/jupiter/engine/config/JupiterConfiguration;
    MethodParameters:
         Name  Flags
      request  

  protected org.junit.jupiter.engine.execution.JupiterEngineExecutionContext createExecutionContext(org.junit.platform.engine.ExecutionRequest);
    descriptor: (Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
        start local 1 // org.junit.platform.engine.ExecutionRequest request
         0: .line 85
            new org.junit.jupiter.engine.execution.JupiterEngineExecutionContext
            dup
            aload 1 /* request */
            invokevirtual org.junit.platform.engine.ExecutionRequest.getEngineExecutionListener:()Lorg/junit/platform/engine/EngineExecutionListener;
         1: .line 86
            aload 0 /* this */
            aload 1 /* request */
            invokevirtual org.junit.jupiter.engine.JupiterTestEngine.getJupiterConfiguration:(Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/jupiter/engine/config/JupiterConfiguration;
         2: .line 85
            invokespecial org.junit.jupiter.engine.execution.JupiterEngineExecutionContext.<init>:(Lorg/junit/platform/engine/EngineExecutionListener;Lorg/junit/jupiter/engine/config/JupiterConfiguration;)V
            areturn
        end local 1 // org.junit.platform.engine.ExecutionRequest request
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/junit/jupiter/engine/JupiterTestEngine;
            0    3     1  request  Lorg/junit/platform/engine/ExecutionRequest;
    MethodParameters:
         Name  Flags
      request  

  protected org.junit.platform.engine.support.hierarchical.ThrowableCollector$Factory createThrowableCollectorFactory(org.junit.platform.engine.ExecutionRequest);
    descriptor: (Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Factory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
        start local 1 // org.junit.platform.engine.ExecutionRequest request
         0: .line 94
            invokedynamic create()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector$Factory;
              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/platform/engine/support/hierarchical/ThrowableCollector;
                  org/junit/jupiter/engine/support/JupiterThrowableCollectorFactory.createThrowableCollector()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector; (6)
                  ()Lorg/junit/platform/engine/support/hierarchical/ThrowableCollector;
            areturn
        end local 1 // org.junit.platform.engine.ExecutionRequest request
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/junit/jupiter/engine/JupiterTestEngine;
            0    1     1  request  Lorg/junit/platform/engine/ExecutionRequest;
    MethodParameters:
         Name  Flags
      request  

  private org.junit.jupiter.engine.config.JupiterConfiguration getJupiterConfiguration(org.junit.platform.engine.ExecutionRequest);
    descriptor: (Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/jupiter/engine/config/JupiterConfiguration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.junit.jupiter.engine.JupiterTestEngine this
        start local 1 // org.junit.platform.engine.ExecutionRequest request
         0: .line 98
            aload 1 /* request */
            invokevirtual org.junit.platform.engine.ExecutionRequest.getRootTestDescriptor:()Lorg/junit/platform/engine/TestDescriptor;
            checkcast org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor
            astore 2 /* engineDescriptor */
        start local 2 // org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor engineDescriptor
         1: .line 99
            aload 2 /* engineDescriptor */
            invokevirtual org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor.getConfiguration:()Lorg/junit/jupiter/engine/config/JupiterConfiguration;
            areturn
        end local 2 // org.junit.jupiter.engine.descriptor.JupiterEngineDescriptor engineDescriptor
        end local 1 // org.junit.platform.engine.ExecutionRequest request
        end local 0 // org.junit.jupiter.engine.JupiterTestEngine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/junit/jupiter/engine/JupiterTestEngine;
            0    2     1           request  Lorg/junit/platform/engine/ExecutionRequest;
            1    2     2  engineDescriptor  Lorg/junit/jupiter/engine/descriptor/JupiterEngineDescriptor;
    MethodParameters:
         Name  Flags
      request  

  protected org.junit.platform.engine.support.hierarchical.EngineExecutionContext createExecutionContext(org.junit.platform.engine.ExecutionRequest);
    descriptor: (Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/platform/engine/support/hierarchical/EngineExecutionContext;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.junit.jupiter.engine.JupiterTestEngine.createExecutionContext:(Lorg/junit/platform/engine/ExecutionRequest;)Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/junit/platform/engine/support/hierarchical/HierarchicalTestEngine<Lorg/junit/jupiter/engine/execution/JupiterEngineExecutionContext;>;
SourceFile: "JupiterTestEngine.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 abstract Factory = org.junit.platform.engine.support.hierarchical.ThrowableCollector$Factory 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.0")