private final Value<? extends Service<T>> serviceValue;
private final ServiceName serviceName;
private ServiceController.Mode initialMode = ServiceController.Mode.ACTIVE;
private final Set<ServiceName> aliases = new HashSet<ServiceName>(0);
private final Map<ServiceName, Dependency> dependencies = new HashMap<ServiceName, Dependency>(0);
<BUG>private final Set<ServiceListener<? super T>> listeners = new IdentityHashSet<ServiceListener<? super T>>(0);
private final List<ValueInjection<?>> valueInjections = new ArrayList<ValueInjection<?>>(0);</BUG>
private final List<Injector<? super T>> outInjections = new ArrayList<Injector<? super T>>(0);
private boolean installed = false;
static final class Dependency {

private final Value<? extends Service<T>> serviceValue;
private final ServiceName serviceName;
private ServiceController.Mode initialMode = ServiceController.Mode.ACTIVE;
private final Set<ServiceName> aliases = new HashSet<ServiceName>(0);
private final Map<ServiceName, Dependency> dependencies = new HashMap<ServiceName, Dependency>(0);
private final Map<ServiceListener<? super T>, ServiceListener.Inheritance> listeners = new IdentityHashMap<ServiceListener<? super T>, ServiceListener.Inheritance>(0);
private final List<ValueInjection<?>> valueInjections = new ArrayList<ValueInjection<?>>(0);
private final List<Injector<? super T>> outInjections = new ArrayList<Injector<? super T>>(0);
private boolean installed = false;
static final class Dependency {
