code: public synchronized Object put(Object key, Object value, long lCacheInterval) {
          ValueWrapper valueWrapper = new ValueWrapper(value, lCacheInterval);
          return super.put(key, valueWrapper);
      }
docs: Add a new value to the cache
  
  @param key the key, typically a String
  @param value the value
  @param lCacheInterval an expiration timeout value, in seconds, which will override the
  default cache value just for this item. If a negative timeout value is specified, the
  value will be cached indefinitely.
  @return the cached object