ServiceBuilder<T> addDependencies(Iterable<ServiceName> dependencies);
ServiceBuilder<T> addDependencies(DependencyType dependencyType, Iterable<ServiceName> dependencies);
<BUG>ServiceBuilder<T> addOptionalDependencies(Iterable<ServiceName> dependencies);</BUG>
ServiceBuilder<T> addDependency(ServiceName dependency);
ServiceBuilder<T> addDependency(DependencyType dependencyType, ServiceName dependency);
<BUG>ServiceBuilder<T> addOptionalDependency(ServiceName dependency);</BUG>
ServiceBuilder<T> addDependency(ServiceName dependency, Injector<Object> target);
ServiceBuilder<T> addDependency(DependencyType dependencyType, ServiceName dependency, Injector<Object> target);
<BUG>ServiceBuilder<T> addOptionalDependency(ServiceName dependency, Injector<Object> target);</BUG>
<I> ServiceBuilder<T> addDependency(ServiceName dependency, Class<I> type, Injector<I> target);
<I> ServiceBuilder<T> addDependency(DependencyType dependencyType, ServiceName dependency, Class<I> type, Injector<I> target);
<BUG><I> ServiceBuilder<T> addOptionalDependency(ServiceName dependency, Class<I> type, Injector<I> target);</BUG>
<I> ServiceBuilder<T> addInjection(Injector<? super I> target, I value);

ServiceBuilder<T> addDependencies(Iterable<ServiceName> dependencies);
ServiceBuilder<T> addDependencies(DependencyType dependencyType, Iterable<ServiceName> dependencies);
ServiceBuilder<T> addDependency(ServiceName dependency);
ServiceBuilder<T> addDependency(DependencyType dependencyType, ServiceName dependency);
ServiceBuilder<T> addDependency(ServiceName dependency, Injector<Object> target);
ServiceBuilder<T> addDependency(DependencyType dependencyType, ServiceName dependency, Injector<Object> target);
<I> ServiceBuilder<T> addDependency(ServiceName dependency, Class<I> type, Injector<I> target);
<I> ServiceBuilder<T> addDependency(DependencyType dependencyType, ServiceName dependency, Class<I> type, Injector<I> target);
<I> ServiceBuilder<T> addInjection(Injector<? super I> target, I value);
