anchor.diff:      check.get().dependsOn verificationTask
   }
   ----
  +=====
  +[.multi-language-sample]
  +=====
  +[source,kotlin]
  +----
  +val check = tasks.register("check")
  +tasks.register("verificationTask") {
  +    // Configure verificationTask
  +
  +    // Run verificationTask when someone runs check
  +    check.get().dependsOn(this)
  +}
  +----
  +=====
  +====
   Executing the `gradle check` task should execute `verificationTask`, but with this example, it won't.
   This is because the dependency between `verificationTask` and `check` only happens when `verificationTask` is realized.
   To avoid issues like this, you must only modify the task associated with the configuration action.
   Other tasks should be modified in their own configuration action outside of any other possibly "lazy" configuration actions.
   The code would become:
   +
  +====
  +[.multi-language-sample]
  +=====
   [source,groovy]
   ----
   def check = tasks.register("check")
  
positive.code:   - **Use `TaskProvider` variable.**
    Useful when the task is referenced multiple time in the same build script.
  +
  [source,groovy]
  ----
  def someTask = tasks.register "someTask"
  
  task aEagerTask {
      dependsOn someTask
  }
  ----
  
      - **Migrate consumer task.**
      It will only work under specific circumstances.
  
negative.code: tasks.register "someTask"
  
  // Sometime later, an eager task is configured like
  task anEagerTask {
      // The task is resolved immediately as it will be treated as a property of the project and will result in an eager task lookup by name
      dependsOn someTask
  }
  