Do not pretend you are avoiding memory leaks using WeakHashMap when the values actually refer strongly to the keys!