### Question:
InjectorBuilderImpl implements InjectorBuilder { @Override public InjectorBuilder withComponent(Class<?> injectableType) { requireNonNull(injectableType); return withComponentAndSupplier(injectableType, null); } InjectorBuilderImpl();   InjectorBuilderImpl(ClassLoader classLoader);   InjectorBuilderImpl(Set<Class<?>> injectables); private  InjectorBuilderImpl(ClassLoader classLoader, Set<Class<?>> injectables);   InjectorBuilderImpl(final InjectorBuilder toCopy); @Override InjectorBuilder withComponent(Class<?> injectableType); @Override InjectorBuilder withComponent(Class<T> injectableType, Supplier<T> instanceSupplier); @Override InjectorBuilder withBundle(Class<? extends InjectBundle> bundleClass); @Override InjectorBuilder withInjectorProxy(InjectorProxy injectorProxy); @Override InjectorBuilder withConfigFileLocation(Path configFile); @Override InjectorBuilder withParam(String name, String value); @Override InjectorBuilder before(ExecutionBuilder<T> executionBuilder); @Override Injector build(); @Override InjectorProxy proxyFor(Class<?> clazz); static final Logger INTERNAL_LOGGER; }### Answer:
@Test void withComponent() throws InstantiationException { final Injector injector = instance.withComponent(Foo.class).build(); assertEquals(singletonList(Foo.class), injector.injectables().collect(toList())); }
@Test void testWithComponent() throws InstantiationException { final Injector injector = instance.withComponent(Foo.class, Foo::new).build(); assertEquals(singletonList(Foo.class), injector.injectables().collect(toList())); }