 
 module.exports  = class LRUCache
   class LRUCacheItem
-    constructor: (@id, @value, @lru, @expires)->
+    constructor: (@id, @value, @expires)->
   constructor: (options)->
     if (this not instanceof Cache) then return new LRUCache(options)
     @reset(options)

  # thisArg: Value to use as this when executing callback.
  forEach: (callback, thisArg)->
    setImmediate @clearExpires if @cleanInterval > 0 and Date.now() - @lastCleanTime >= @cleanInterval
    for k,item of @_cacheLRU
      callback.call thisArg, item.value, k, @ if not @isExpired item
    return
  clearExpires: ->
    for k,v of @_cacheLRU

    @_cacheLRU     = null
    @_lruQueue     = null
    @lastCleanTime = 0
  #executes a provided function once per each value in the cache object, 
  # in order of recent-ness. (more recently used items are iterated over first)
  # callback: Function to execute for each element. callback is invoked with three arguments:
  #   * the element value
  #   * the element key
