docs: @SuppressWarnings("unchecked")
  	public static <K, V> Map<K, V> filter(Map<K, V> map, K... keys) {
  		final Map<K, V> map2 = ObjectUtil.clone(map);
  		if (isEmpty(map2)) {
  			return map2;
  		}
  
  		map2.clear();
  		for (K key : keys) {
  			if(map.containsKey(key)) {
  				map2.put(key, map.get(key));
  			}
  		}
  		return map2;
  	}