ModelImplementationProviderFinderImpl implements ModelImplementationProviderFinder { @Override @SuppressWarnings("rawtypes") public <T extends Model, E extends KiePMMLModel> List<ModelImplementationProvider<T, E>> getImplementations(boolean refresh) { logger.debug("getImplementations {}", refresh); List<ModelImplementationProvider<T, E>> toReturn = new ArrayList<>(); Iterator<ModelImplementationProvider> providers = getProviders(refresh); providers.forEachRemaining(toReturn::add); logger.debug("toReturn {} {}", toReturn, toReturn.size()); if (logger.isTraceEnabled()) { toReturn.forEach(provider -> logger.trace("{} : {}", provider.getPMMLModelType(), provider)); } return toReturn; }  @Override @SuppressWarnings("rawtypes") List<ModelImplementationProvider<T, E>> getImplementations(boolean refresh);  }
@Test public <T extends Model, E extends KiePMMLModel> void getImplementations() { final List<ModelImplementationProvider<T, E>> retrieved = modelImplementationProviderFinder.getImplementations(false); assertNotNull(retrieved); assertEquals(1, retrieved.size()); assertTrue(retrieved.get(0) instanceof TestingModelImplementationProvider); }