class MapStream implements Stream<Map.Entry<K, V>> {

  public boolean allMatch(BiPredicate<? super K, ? super V> predicate) {
    return underlying.allMatch(e -> predicate.test(e.getKey(), e.getValue()));
  }

  private  MapStream(Stream<Map.Entry<K, V>> underlying);

}