public <T> void compareSupplierResult(final T expected, final Supplier<T> experimentSupplier) {
    final Timer.Sample sample = Timer.start();

    try {
      final T result = experimentSupplier.get();

      recordResult(expected, result, sample);
    } catch (final Exception e) {
      recordError(e, sample);
    }
  }
@Test
  void compareSupplierResultMatch() {
    experiment.compareSupplierResult(12, () -> 12);
    verify(matchTimer).record(anyLong(), eq(TimeUnit.NANOSECONDS));
  }