### Question:
DelegatingModelBasedArgumentConverter extends ModelBasedArgumentConverter { @Override public void initialize(ModelConverter modelConverter) { for (ArgumentConverter argumentConverter : argumentConverters) { if (argumentConverter instanceof ModelBasedArgumentConverter) { ((ModelBasedArgumentConverter) argumentConverter).initialize(modelConverter); } } } DelegatingModelBasedArgumentConverter(Collection<ArgumentConverter> argumentConverters); @Override void initialize(ModelConverter modelConverter); @Override boolean canConvert(Object argument); @Override Object convert(Object argument);  }### Answer:
@Test void initializationIsDelegatedToAllConverters() { final ModelBasedArgumentConverter first = Mockito.mock(ModelBasedArgumentConverter.class); final ModelBasedArgumentConverter second = Mockito.mock(ModelBasedArgumentConverter.class); final DelegatingModelBasedArgumentConverter delegatingConverter = new DelegatingModelBasedArgumentConverter(Arrays.asList(first, second)); final ModelConverter converter = Mockito.mock(ModelConverter.class); delegatingConverter.initialize(converter); verify(first, times(1)).initialize(converter); verify(second, times(1)).initialize(converter); }