docs: public boolean probe(final CacheKey key) {
      String resourceId = null;
      try {
        synchronized (mLock) {
          List<String> resourceIds = CacheKeyUtil.getResourceIds(key);
          for (int i = 0; i < resourceIds.size(); i++) {
            resourceId = resourceIds.get(i);
            if (mStorage.touch(resourceId, key)) {
              mResourceIndex.add(resourceId);
              return true;
            }
          }
          return false;
        }
      } catch (IOException e) {
        SettableCacheEvent cacheEvent = SettableCacheEvent.obtain()
            .setCacheKey(key)
            .setResourceId(resourceId)
            .setException(e);
        mCacheEventListener.onReadException(cacheEvent);
        cacheEvent.recycle();
        return false;
      }
    }