### Question:
BiCollectors { public static <K, V> BiCollector<K, V, Long> counting() { return mapping((k, v) -> k, Collectors.counting()); } private  BiCollectors(); static BiCollector<K, V, Map<K, V>> toMap(); static BiCollector<K, V, Map<K, V>> toMap(BinaryOperator<V> valueMerger); static BiCollector<K, V1, Map<K, V>> toMap(Collector<V1, ?, V> valueCollector); static BiCollector<K, V, Long> counting(); static BiCollector<K, V, Integer> countingDistinct(); static BiCollector<K, V, Integer> summingInt(
      ToIntBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, Long> summingLong(
      ToLongBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, Double> summingDouble(
      ToDoubleBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, Double> averagingInt(
      ToIntBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, Double> averagingLong(
      ToLongBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, Double> averagingDouble(
      ToDoubleBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, IntSummaryStatistics> summarizingInt(
      ToIntBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, LongSummaryStatistics> summarizingLong(
      ToLongBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, DoubleSummaryStatistics> summarizingDouble(
      ToDoubleBiFunction<? super K, ? super V> mapper); static BiCollector<K, V, BiStream<G, R>> groupingBy(
      BiFunction<? super K, ? super V, ? extends G> classifier,
      BiCollector<? super K, ? super V, R> groupCollector); static BiCollector<K, V, BiStream<G, R>> groupingBy(
      Function<? super K, ? extends G> classifier,
      Collector<? super V, ?, R> groupCollector); static BiCollector<K, V, BiStream<G, V>> groupingBy(
      Function<? super K, ? extends G> classifier, BinaryOperator<V> groupReducer); static BiCollector<K, V, R> collectingAndThen(
      BiCollector<K, V, T> upstream, Function<? super T, ? extends R> finisher); static BiCollector<K, V, R> mapping(
      BiFunction<? super K, ? super V, ? extends T> mapper, Collector<? super T, ?, R> downstream); static BiCollector<K, V, R> mapping(
      BiFunction<? super K, ? super V, ? extends K1> keyMapper,
      BiFunction<? super K, ? super V, ? extends V1> valueMapper,
      BiCollector<? super K1, ? super V1, R> downstream); static BiCollector<K, V, R> flatMapping(
      BiFunction<? super K, ? super V, ? extends Stream<? extends T>> flattener,
      Collector<T, ?, R> downstream); static BiCollector<K, V, R> flatMapping(
      BiFunction<? super K, ? super V, ? extends BiStream<? extends K1, ? extends V1>> flattener,
      BiCollector<K1, V1, R> downstream);  }### Answer:
@Test public void testCounting() { assertThat(BiStream.of(1, "one", 2, "two").collect(BiCollectors.counting())).isEqualTo(2L); }