public <T> void compareFutureResult(final T expected, final CompletionStage<T> experimentStage) {
    final Timer.Sample sample = Timer.start();

    experimentStage.whenComplete((actual, cause) -> {
      if (cause != null) {
        recordError(cause, sample);
      } else {
        recordResult(expected, actual, sample);
      }
    });
  }
@Test
  void compareFutureResult() {
    experiment.compareFutureResult(12, CompletableFuture.completedFuture(12));
    verify(matchTimer).record(anyLong(), eq(TimeUnit.NANOSECONDS));
  }