docs: public static <K, V> Map<K, V> filter(Map<K, V> original, final Function2<? super K, ? super V, Boolean> predicate) {
  		if (predicate == null)
  			throw new NullPointerException("predicate");
  		return Maps.filterEntries(original, new Predicate<Map.Entry<K, V>>() {
  			@Override
  			public boolean apply(Map.Entry<K, V> input) {
  				Boolean result = predicate.apply(input.getKey(), input.getValue());
  				return result.booleanValue();
  			}
  		});
  	}