SymbolicLookup implements Function<Symbolic, String> { public String apply(Symbolic symbolic) { return symbolic.symbol(); }  String apply(Symbolic symbolic); static ImmutableMap<String,T> map(T[] values); static T resolve(String symbol,
            ImmutableMap<String, T> map, Class<T> clss);  }
@Test public void apply() { final SymbolicLookup lookup = new SymbolicLookup(); for (TestSymbol t : TestSymbol.values()) { assertEquals(t.symbol(), lookup.apply(t)); } }