### Question:
ResourceConverterProviderImpl implements ResourceConverterProvider { @Override public Class<? extends ClientResource> getClientTypeClass(String clientType) throws IllegalParameterValueException { final ResourceConverter<? extends Resource, ? extends ClientResource> resourceConverter = (ResourceConverter<? extends Resource, ? extends ClientResource>) getToServerConverter(clientType); return resourceConverter.getClientTypeClass(); }  ToClientConverter<? super Resource, ? extends ClientResource, ToClientConversionOptions> getToClientConverter(String serverType); ToClientConverter<? super Resource, ? extends ClientResource, ToClientConversionOptions> getToClientConverter(String serverType, String clientType); ToServerConverter<? super ClientResource, ? extends Resource, ToServerConversionOptions> getToServerConverter(String serverType, String clientType); @Override ToClientConverter<? super Resource, ? extends ClientResource, ToClientConversionOptions> getToClientConverter(Resource serverObject); @Override ToServerConverter<? super ClientResource, ? extends Resource, ToServerConversionOptions> getToServerConverter(ClientResource clientObject); ToServerConverter<? super ClientResource, ? extends Resource, ToServerConversionOptions> getToServerConverter(String clientType); @Override Class<? extends ClientResource> getClientTypeClass(String clientType); @PostConstruct void initialize();  }### Answer:
@Test public void getClientTypeClass() throws IllegalParameterValueException { ResourceConverterProviderImpl converterProvider = mock(ResourceConverterProviderImpl.class); final String testType = "testType"; when(converterProvider.getClientTypeClass(testType)).thenCallRealMethod(); final ResourceConverter resourceConverter = mock(ResourceConverter.class); when(converterProvider.getToServerConverter(testType)).thenReturn((ToServerConverter) resourceConverter); when(resourceConverter.getClientTypeClass()).thenReturn(String.class); assertSame(converterProvider.getClientTypeClass(testType), String.class); }