Caching data structure that uses a Least Recently Used (LRU) algorithm. This cache has a max size associated with it that is used to determine when objects should be purged from the cache. Once the max size is reached, the least recently used element will be purged.
This class is thread-safe.
@author Spike Washburn
@author Peter Farland (Updated to be thread-safe)