def METHOD_NAME(self, key):
    """Record a reference to the argument key."""
    queue = self.queue
    refcount = self.refcount
    queue.append(key)
    refcount[key] = refcount[key] + 1
    # periodically compact the queue by eliminating duplicate keys
    # while preserving order of most recent access.  Note that this
    # is only required when the cache does not exceed its maximum
    # size
    if len(queue) > self.max_queue:
        refcount.clear()
        queue_appendleft = queue.appendleft
        queue_appendleft(self.sentinel)
        for k in filterfalse(refcount.__contains__,
                             iter(queue.pop, self.sentinel)):
            queue_appendleft(k)
            refcount[k] = 1