From a concurrency I'm not sure this will work as the counterMap might not be published correctly.
I'd rather make it final and instead of Hashtable use ConcurrentHashMap.