for (TaskDefinition def : definitions()) {
TaskDefinition other = byClass.get(def.taskClass());
if (other == null) {
byClass.put(def.taskClass(), def);
} else {
throw new SonarException("Task '" + def.taskClass().getName() + "' is defined twice: first by '" + other.key() + "' and then by '" + def.key() + "'");
}
}
}
}