docs: public synchronized boolean remove(final CacheKey key, final EncodedImage encodedImage) {
      Preconditions.checkNotNull(key);
      Preconditions.checkNotNull(encodedImage);
      Preconditions.checkArgument(EncodedImage.isValid(encodedImage));
  
      final EncodedImage oldValue = mMap.get(key);
  
      if (oldValue == null) {
        return false;
      }
  
      CloseableReference<PooledByteBuffer> oldRef = oldValue.getByteBufferRef();
      CloseableReference<PooledByteBuffer> ref = encodedImage.getByteBufferRef();
      try {
        if (oldRef == null || ref == null || oldRef.get() != ref.get()) {
          return false;
        }
        mMap.remove(key);
      } finally {
        CloseableReference.closeSafely(ref);
        CloseableReference.closeSafely(oldRef);
        EncodedImage.closeSafely(oldValue);
      }
  
      logStats();
      return true;
    }