public void removeFiles(List<String> names) {
        if (names == null) {
            throw new IllegalArgumentException("names is null");
        }
        boolean changed = false;
        for (String name : names) {
            if (name == null) {
                throw new IllegalArgumentException("names contains a null entry.");
            }
            if (mNameToFileDigest.containsKey(name)) {
                mNameToFileDigest.remove(name);
                changed = true;
            }
        }
        if (changed) {
            purge();
        }
    }