### Question:
TaxonCacheService extends CacheService implements PropertyEnricher, TermMatcher { public void setMaxTaxonLinks(int maxTaxonLinks) { this.maxTaxonLinks = maxTaxonLinks; } TaxonCacheService(final TermResource<Taxon> taxonCache, final TermResource<Triple<Taxon, NameType, Taxon>> taxonMap);  TaxonCacheService(final String termResource, final String taxonMapResource); @Override Map<String, String> enrichFirstMatch(Map<String, String> properties); @Override List<Map<String, String>> enrichAllMatches(Map<String, String> properties); String getName(Map<String, String> properties); String getExternalId(Map<String, String> properties); @Override void match(List<Term> terms, TermMatchListener termMatchListener); int getMaxTaxonLinks(); void setMaxTaxonLinks(int maxTaxonLinks); static Iterator<Fun.Tuple2<String, Map<String, String>>> taxonCacheIterator(final TermResource<Taxon> config); static void logCacheLoadStats(long time, int numberOfItems); static void logCacheLoadStats(long time, int numberOfItems, Log log); @Override void shutdown(); static void close(Engine engine);  }### Answer:
@Test public void resolveWithSameIdDifferentName() throws PropertyEnricherException { final TaxonCacheService cacheService = new TaxonCacheService( "/org/eol/globi/taxon/taxonCacheRhusSylvestris.tsv", "/org/eol/globi/taxon/taxonMapRhusSylvestris.tsv"); cacheService.setMaxTaxonLinks(125); cacheService.setCacheDir(mapdbDir); assertRhus(cacheService, new TermImpl("", "Rhus sylvestris")); assertRhus(cacheService, new TermImpl("EOL:2888778", "")); assertRhus(cacheService, new TermImpl("EOL:2888778", "Rhus sylvestris")); }