package io.wealthwizards.appsynctesting.utils;

import java.util.stream.Collectors;

public final class Map {
    public <K, V> java.util.Map<K, V> copyAndRetainAllKeys(java.util.Map<K, V> original, java.util.List<K> toKeep) {
        return original.entrySet()
                .stream()
                .filter(entry -> toKeep.contains(entry.getKey()))
                .collect(Collectors.toMap(java.util.Map.Entry::getKey, java.util.Map.Entry::getValue));
    }

    public <K, V> java.util.Map<K, V> copyAndRemoveAllKeys(java.util.Map<K, V> original, java.util.List<K> toKeep) {
        return original.entrySet()
                .stream()
                .filter(entry -> !toKeep.contains(entry.getKey()))
                .collect(Collectors.toMap(java.util.Map.Entry::getKey, java.util.Map.Entry::getValue));
    }
}
