code: public Object retrieve(String correlationId, String key) {
  		synchronized (_lock) {
  			// Get entry from the cache
  			CacheEntry entry = _cache.get(key);
  
  			// Cache has nothing
  			if (entry == null) {
  				return null;
  			}
  
  			// Remove entry if expiration set and entry is expired
  			if (entry.isExpired()) {
  				_cache.remove(key);
  				_count--;
  				return null;
  			}
  
  			// Update access timeout
  			return entry.getValue();
  		}
  	}
docs: Retrieves cached value from the cache using its key. If value is missing in
  the cache or expired it returns null.
  
  @param correlationId (optional) transaction id to trace execution through
  call chain.
  @param key           a unique value key.
  @return a cached value or null if value wasn't found or timeout expired.