### Question:
DataSourceHolderResourceConverter extends ResourceConverterImpl<ResourceType, ClientType> { @Override protected ClientType genericFieldsToClient(ClientType client, ResourceType serverObject, ToClientConversionOptions options) { final ResourceReference dataSource = getDataSourceFromResource(serverObject); client.setDataSource(resourceReferenceConverterProvider.getConverterForType(ClientReferenceableDataSource.class) .toClient(dataSource, options)); return super.genericFieldsToClient(client, serverObject, options); }    }### Answer:
@Test public void genericFieldsToClient_DataSource(){ final ClientQuery clientObject = new ClientQuery(); testResourceReference.setLocalResource(serverObject); final ClientAwsDataSource expectedClientDataSource = new ClientAwsDataSource(); serverObject.setDataSource(testResourceReference); serverObject.setURIString(TEST_RESORUCE_URI); final ToClientConversionOptions options = ToClientConversionOptions.getDefault(); when(resourceReferenceConverter.toClient(testResourceReference, null)).thenReturn(expectedClientDataSource); final AbstractClientDataSourceHolder result = converter.genericFieldsToClient(clientObject, serverObject, null); assertSame(result, clientObject); assertNotNull(result.getDataSource()); assertSame(result.getDataSource(), expectedClientDataSource); assertEquals(result.getUri(), TEST_RESORUCE_URI); }