@Override
  public void removeAll(int key, Collection<V> values) {
    try {
      if (!values.isEmpty()) {
        final Collection<V> collection = cache.get(key);

        if (collection != NULL_COLLECTION) {
          if (collection.removeAll(values)) {
            cache.invalidate(key);
            if (collection.isEmpty()) {
              map.remove(key);
            }
            else {
              map.put(key, collection);
            }
          }
        }
      }
    }
    catch (IOException e) {
      throw new BuildDataCorruptedException(e);
    }
  }
@Override
  public void removeAll(int key, Collection<V> values)