anchor.diff:  
   | 5
   | interface `org.junit.jupiter.api.extension.BeforeTestExecutionCallback`
  -| extension code executed just before a test is executed
  +| extension code executed immediately before a test is executed
   
   | 6
   | annotation `org.junit.jupiter.api.Test`
  
positive.code: 
  |===
  
  In the most simple case only step 6 -- the actual test method -- is ever executed,
  all other user- or extension-provided code may not be present.
  For more details on the various extension callbacks please consult the respective Javadoc
  documentation.
  
negative.code: [[extensions-supported-utilities]]
  === Supported Utilities in Extensions
  
  The JUnit Platform Commons artifact exposes a package named
  `{junit-platform-support-package}` that contains _maintained_ utility methods for working
  with annotations, reflection, and classpath scanning tasks. `TestEngine` and `Extension`
  authors are encouraged to use these supported methods in order to align with the behavior
  of the JUnit Platform.
  
  [[extensions-execution-order]]
  === Relative Execution Order of User Code and Extensions
  
  When executing a test class that contains one or more test methods, a number of extension
  callbacks are called in addition to the user-provided test and lifecycle methods. The
  following diagram illustrates the relative order of user-provided code and extension code.
  
  [[extensions-lifecycle]]
  image::extensions_lifecycle.png[caption="Figure 2: ", title="User code and extension code"]
  
  User-provided test and lifecycle methods are shown in orange, with callback code provided
  by extensions shown in blue. The grey box denotes the execution of a single test method
  and will be repeated for every test method in the test class.
  
  The following table further explains the twelve steps in Figure 2.
  
  [cols="5,15,80"]
  |===
  