// task in the queue
Set<Task> dependsOnTasks = new TreeSet<Task>(Collections.reverseOrder());
dependsOnTasks.addAll(context.getDependencies(task));
for (Task dependsOnTask : dependsOnTasks) {
if (visiting.contains(dependsOnTask)) {
throw new CircularReferenceException(String.format(
"Circular dependency between tasks. Cycle includes [%s, %s].", task, dependsOnTask));
}
queue.add(0, dependsOnTask);
}
} else {