code: public static <T1, T2> BiConsumer<T1, T2> monitor(BiConsumer<T1, T2> consumer, AtomicLong calls) {
          return new BinaryMonitoringConsumer<T1, T2>(consumer, calls);
      }
docs: Monitors calls to a binary consumer.
  
  @param <T1> the consumer first parameter type
  @param <T2> the consumer second parameter type
  @param consumer the consumer that will be monitored
  @param calls a value holder accumulating calls
  @return the proxied consumer