code: public synchronized Counter findCounter(Enum<?> key) {
      Counter counter = cache.get(key);
      if (counter == null) {
        counter = findCounter(key.getDeclaringClass().getName(), key.toString());
        cache.put(key, counter);
      }
      return counter;    
    }
docs: Find the counter for the given enum. The same enum will always return the
  same counter.
  @param key the counter key
  @return the matching counter object