public IcServer<T> get() {
return new IcServer<T>() {
public T getOverride(Provider<? extends T> delegate) {
ControllableId<T> controllableId =
new ControllableId<T>(testIdProvider.get(), key);
ServerSupport serverSupport = serverSupportProvider.get();
if (!serverSupport.isControlled(controllableId)) {
return delegate.get();
}
return serverSupport.getOverride(controllableId, delegate);
}
};
}