@Override
 public void graphPopulated(TaskExecutionGraph graph) {
   Set<Project> seen = Sets.newHashSet();
   for (Task task : graph.getAllTasks()) {
     if (seen.add(task.getProject())) {
       ProjectInternal projectInternal = (ProjectInternal) task.getProject();
       projectInternal.bindAllModelRules();
     }
   }
 }
 private void bindAllModelRules(ProjectInternal project) {
   if (cancellationToken.isCancellationRequested()) {
     throw new BuildCancelledException();
   }
   project.bindAllModelRules();
 }