### Question:
InjectorImpl implements Injector { @Override public <T> T injectMembers(T object) { Class<?> clazz = object.getClass(); ClassCache classCache = ReflectionUtils.getClassCache(clazz); RandomAccessWithKey<String, InternalField> fields = classCache.getInternalFields(); for (int i = 0; i < fields.size(); i++) { InternalField field = fields.get(i); String fieldName = field.getFieldName(); Object value = configurationMap.get(fieldName); if (value == null) continue; field.setValue(object, value); } return object; } InjectorImpl(); @Override T injectMembers(T object); @Override void bind(String name, Object value); @Override T getInstance(Class<? extends T> clazz); @Override Injector createChildInjector();  }### Answer:
@Test public void shouldNotConfigureInternalObjectWhenNotOnConfigurator() { Injector injectorImpl = new InjectorImpl(); MyTemplate myTemplate = new MyTemplate(); injectorImpl.injectMembers(myTemplate); assertNull(myTemplate.object); assertNull(myTemplate.anotherObject); }