### Question:
EnumRecommender implements ConfigDef.Validator, ConfigDef.Recommender { @Override public boolean visible(String name, Map<String, Object> connectorConfigs) { return true; } EnumRecommender(
        Class<T> enumClass,
        Function<String, String> conversion,
        T... excludedValues
    ); @Override void ensureValid(String key, Object value); @Override String toString(); @Override List<Object> validValues(String name, Map<String, Object> connectorConfigs); @Override boolean visible(String name, Map<String, Object> connectorConfigs);  }### Answer:
@Test public void visible() { Recommender recommender = new EnumRecommender<>(TestEnum.class, String::toLowerCase); final List<Object> actual = recommender.validValues("asdf", ImmutableMap.of()); final List<Object> expected = ImmutableList.copyOf( Arrays.stream(TestEnum.values()) .map(Enum::toString) .map(String::toLowerCase) .toArray() ); assertEquals(expected, actual); }