}
}
} while (!toExecute.isEmpty() && toExecute.size() < start);
if (!toExecute.isEmpty()) {
UnsatisfiedDependencies unsatisfiedDependencies = new UnsatisfiedDependencies();
for (InjectionTask task : toExecute) {
switch (task.getInjectType()) {
case PrivateField:
case Field:
unsatisfiedDependencies.addUnsatisfiedDependency(
new UnsatisfiedField(task.getField(), task.getInjector().getInjectedType(), task.getField().getType()));
break;
case PrivateMethod:
case Method:
unsatisfiedDependencies.addUnsatisfiedDependency(
new UnsatisfiedMethod(task.getMethod(), task.getInjector().getInjectedType(), task.getMethod().getParameters()[0].getType()));
}
}
throw new UnsatisfiedDependenciesException(unsatisfiedDependencies);