}
entry := c.byAccess.Remove(element).(*entryImpl)
c.currSize -= entry.Size()
metrics.CacheUsage.With(c.metricsHandler).Record(float64(c.currSize))
metrics.CacheEntryAgeOnEviction.With(c.metricsHandler).Record(c.timeSource.Now().UTC().Sub(entry.createTime))
delete(c.byKey, entry.key)
if c.onEvict != nil {
c.onEvict(entry.value)
}