@Override public <I> ServiceBuilder<T> addDependency(final DependencyType dependencyType, final ServiceName dependency, final Class<I> type, final Injector<I> target) { // preconditions assertNotInstalled(); assertNotNull(dependencyType); assertNotNull(dependency); assertNotNull(type); assertNotNull(target); assertThreadSafety(); // implementation addRequiresInternal(dependency, dependencyType).getInjectorList().add(Injectors.cast(target, type)); return this; }
@Override public <I> ServiceBuilder<T> addDependency(final DependencyType dependencyType, final ServiceName dependency, final Class<I> type, final Injector<I> target) { // preconditions assertNotInstalled(); assertNotNull(dependencyType); assertNotNull(dependency); assertNotNull(type); assertNotNull(target); assertThreadSafety(); // implementation addRequiresInternal(dependency, dependencyType).getInjectorList().add(Injectors.cast(target, type)); return this; }