ReflectionSpecialCharmBuilder { public CharmSpecialLearning readCharmLearning(SpecialCharmTemplate overallDto, AdditionalCharmFactory factory, ExistingMechanicTemplateSupplier supplier) { return findBuilder(overallDto).readCharm(overallDto, factory, supplier); } ReflectionSpecialCharmBuilder(ObjectFactory objectFactory); CharmSpecialLearning readCharmLearning(SpecialCharmTemplate overallDto,
  		AdditionalCharmFactory factory,
  		ExistingMechanicTemplateSupplier supplier);  }
@Test public void returnsCharmFromRegisteredBuilder() { SpecialCharmTemplate dto = new SpecialCharmTemplate(); CharmSpecialLearning charm = mock(CharmSpecialLearning.class); registerBuilderForDtoYieldingCharm(dto, charm); CharmSpecialLearning specialCharm = new ReflectionSpecialCharmBuilder(factory).readCharmLearning(dto, null, null); assertThat(specialCharm, is(charm)); }