anchor.diff:  Eagerly realizing some tasks may cause a cascade of other tasks to be realized.
   Using `TaskProvider` helps create an indirection that protects against transitive realization.
   
  -8. Some APIs may be disallowed if you try to access them from the new API's configuration blocks. For example,
  +8. Some APIs may be disallowed if you try to access them from the new API's configuration blocks.
  +For example,
   link:{groovyDslPath}/org.gradle.api.Project.html#org.gradle.api.Project:afterEvaluate(org.gradle.api.Action)[`Project.afterEvaluate()`]
  -cannot be called when configuring a task registered with the new API. Since `afterEvaluate` is used to delay configuring a `Project`, mixing delayed configuration
  -with the new API can cause errors that are hard to diagnose because tasks registered with the new API are not always configured, but an `afterEvaluate` block
  -may be expected to always execute.
  +cannot be called when configuring a task registered with the new API.
  +Since `afterEvaluate` is used to delay configuring a `Project`, mixing delayed configuration with the new API can cause errors that are hard to diagnose because tasks registered with the new API are not always configured, but an `afterEvaluate` block may be expected to always execute.
   
   [[sec:task_configuration_avoidance_migration_steps]]
   === Migration Steps
  +
   The first part of the migration process is to go through the code and manually migrate eager task creation and configuration to use configuration avoidance APIs.
   The following explores the recommended steps for a successful migration.
   While going through these steps, keep in mind <<#sec:task_configuration_avoidance_general, the guidelines>> above.
   
   [NOTE]
   ====
  -Using the new API in a plugin will require users to use Gradle 4.9 or later. Plugin authors should refer to <<#sec:task_configuration_avoidance_backward_compatibility_migration>> section.
  +Using the new API in a plugin will require users to use Gradle 4.9 or later.
  +Plugin authors should refer to <<#sec:task_configuration_avoidance_backward_compatibility_migration>> section.
   ====
   
   1. **Migrate task configuration that affects all tasks (`tasks.all {}`) or subsets by type (`tasks.withType(...) {}`).**
  
positive.code: }
  ----
  =====
  [.multi-language-sample]
  =====
  [source,kotlin]
  
negative.code: }
  ----
  =====
  
  [.multi-language-sample]
  =====
  [source,kotlin]
  