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: tasks.register "someTask"
  
  // Sometime later, an eager task is configured like
  task aEagerTask {
      // 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
  }
  
negative.code:     - **Lookup the task lazily.**
      Useful when the task registration isn’t co-located with its eager usage.
  +
  ====
  [.multi-language-sample]
  =====
  [source,groovy]
  ----
  tasks.register "someTask"
  
  task anEagerTask {
      dependsOn tasks.named("someTask")
  }
  ----
  =====
  [.multi-language-sample]
  =====
  [source,kotlin]
  ----
  tasks.register("someTask")
  
  task("anEagerTask") {
      dependsOn(tasks.named("someTask"))
  }
  ----
  =====
  ====
  
  * **The `jar` task is eagerly realized, always.**
  The following https://github.com/gradle/gradle-native/issues/730[issue is tracking this pitfall].
  