code: public static <R> Supplier<R> monitor(Supplier<R> supplier, AtomicLong calls) {
          return new MonitoringSupplier<>(supplier, calls);
      }
docs: Monitors calls to a supplier.
  
  @param <R> the supplier result type
  @param supplier the supplier that will be monitored
  @param calls a value holder accumulating calls
  @return the proxied supplier