### Question:
InjectorImpl implements Injector { @Override public Stream<Class<?>> injectables() { return injectables.stream().map(Injectable::get); } InjectorImpl(
        final Set<Injectable<?>> injectables,
        final List<Object> instances,
        final Properties properties,
        final ClassLoader classLoader,
        final DependencyGraph graph,
        final InjectorBuilder builder
    ); static InjectorBuilder builder(); static InjectorBuilder builder(ClassLoader classLoader); @Override Stream<T> stream(Class<T> type); @Override T getOrThrow(Class<T> type); @Override T getAfterOrThrow(Class<T> type, T before); @Override Optional<T> get(Class<T> type); @Override Optional<T> getAfter(Class<T> type, T before); @Override Stream<Class<?>> injectables(); @Override T inject(T instance); @Override ClassLoader classLoader(); @Override void stop(); @Override InjectorBuilder newBuilder(); static final Logger LOGGER_INSTANCE; }### Answer:
@Test void injectables() { final Set<Class<?>> injectables = injector.injectables().collect(toSet()); assertEquals(new HashSet<>(asList(Bar.class, Baz.class)), injectables); }