### Question:
ServiceProviderInterfaceRecommender implements ConfigDef.Recommender { @Override public List<Object> validValues(String name, Map<String, Object> connectorConfigs) { return implementations; } ServiceProviderInterfaceRecommender(Class<T> clazz); @Override List<Object> validValues(String name, Map<String, Object> connectorConfigs); @Override boolean visible(String name, Map<String, Object> connectorConfigs);  }### Answer:
@Test public void validValuesTest_actualSPI() { ServiceProviderInterfaceRecommender<RequestExecutor> recommender = new ServiceProviderInterfaceRecommender<>(RequestExecutor.class); assertThat(recommender.validValues("test", Collections.emptyMap()), hasItem(OkHttpRequestExecutor.class)); }
@Test public void validValuesTest_notSPI() { ServiceProviderInterfaceRecommender<ServiceProviderInterfaceRecommenderTest> recommender = new ServiceProviderInterfaceRecommender<>(ServiceProviderInterfaceRecommenderTest.class); assertThat(recommender.validValues("test", Collections.emptyMap()), emptyIterable()); }