### Question:
ResourceReferenceConverterProvider { @SuppressWarnings("unchecked") public <T extends ClientReferenceable> ResourceReferenceConverter<T> getConverterForType(Class<T> referenceableClass){ return new ResourceReferenceConverter(resourceConverterProvider, repositoryService, permissionsService, configuration, new ResourceReferenceConverter.ReferenceClassRestriction(referenceableClass)); }  @SuppressWarnings("unchecked") ResourceReferenceConverter<T> getConverterForType(Class<T> referenceableClass);  }### Answer:
@Test public void getConverterForType(){ final ResourceReferenceConverter converterForType = provider.getConverterForType(ClientReferenceableDataType.class); assertNotNull(converterForType); assertSame(converterForType.repositoryService, repositoryService); assertSame(converterForType.resourceConverterProvider, resourceConverterProvider); assertEquals(converterForType.restrictions.size(), 1); final ClientReferenceRestriction restriction = (ClientReferenceRestriction) converterForType.restrictions.get(0); assertTrue(restriction instanceof ResourceReferenceConverter.ReferenceClassRestriction); assertSame(((ResourceReferenceConverter.ReferenceClassRestriction)restriction).targetClientClass, ClientReferenceableDataType.class); }