### Question:
ApplicationEnvironment implements Environment { @Override public <T> Collection<T> instantiateAllImplementers(Class<T> interfaceClass, Object... parameter) { return objectFactory.instantiateAllImplementers(interfaceClass, parameter); } ApplicationEnvironment(Resources resources, ExceptionHandler handler, ResourceLoader loader,
                                ObjectFactory objectFactory, Preferences preferences); @Override void handle(Throwable exception); @Override void handle(Throwable throwable, String message); @Override boolean supportsKey(String key); @Override String getString(String key, Object... arguments); @Override String getPreference(String key); @Override Collection<T> instantiateOrdered(Class<? extends Annotation> annotation,
                                              Object... parameter); @Override Collection<T> instantiateAll(Class<? extends Annotation> annotation,
                                          Object... parameter); @Override Collection<T> instantiateAllImplementers(Class<T> interfaceClass, Object... parameter); @Override Set<ResourceFile> getResourcesMatching(String namePattern);  }### Answer:
@Test public void forwardsImplementorInstantiationsToObjectFactory() { DummyInterface expectation = new AnnotatedDummy(); factory.add(DummyInterface.class, expectation); Collection<DummyInterface> actualResult = environment.instantiateAllImplementers(DummyInterface.class); assertThat(actualResult, hasItem(expectation)); }