public static <K, V> boolean retainAllHelper(Map<K, V> map, Collection<?> collection) {
        int oldSize = map.size();
        Iterator<K> it = map.keySet().iterator();
        while (it.hasNext()) {
            if (!collection.contains(it.next())) {
                it.remove();
            }
        }
        return oldSize != map.size();
    }
Helper for writing standard Java collection interfaces to a data
structure like {@link ArrayMap}.
android/android_framework/base/src/main/java/github/tornaco/android/thanos/core/util/collection/MapCollections.java