code: public Task<Boolean> contains(final CacheKey key) {
      if (containsSync(key)) {
        return Task.forResult(true);
      }
      return containsAsync(key);
    }
docs: Performs a key-value look up in the disk cache. If no value is found in the staging area,
  then disk cache checks are scheduled on a background thread. Any error manifests itself as a
  cache miss, i.e. the returned Task resolves to false.
  @param key
  @return Task that resolves to true if an element is found, or false otherwise