public void recycle() {
    synchronized (RECYCLER_LOCK) {
      if (sRecycledCount < MAX_RECYCLED) {
        reset();
        sRecycledCount++;

        if (sFirstRecycledEvent != null) {
          mNextRecycledEvent = sFirstRecycledEvent;
        }
        sFirstRecycledEvent = this;
      }
    }
  }
Implementation of {@link CacheEvent} that allows the values to be set and supports recycling of
instances.
imagepipeline-base/src/main/java/com/facebook/cache/disk/SettableCacheEvent.java