@Override
    public V remove(final Object key) {

        final V removed = super.remove(key);

        if (removed != null && removeHandler != null) {
            removeHandler.onRemove(removed);
        }

        return removed;
    }
Base class for caching objects. Don't mix up with a geocache !
<br>
The LeastRecentlyUsedMap is basically a LinkedHashMap which can be configured to have certain modes of operation:
<ul>
<li> LRU_CACHE means that the elements are updated in the LinkedList on every get() access,
     so the objects that are dropped are the ones that haven't been used the longest</li>
<li> BOUNDED means that objects are updated only when they are put,
     so the objects that are dropped are the ones that haven't been written the longest</li>
</ul>
main/src/main/java/cgeo/geocaching/utils/LeastRecentlyUsedMap.java