@Override
  public void addToQueue(Runnable r) {
    requireNonNull(r);
    executorService.addToQueue(() -> {
      try {
        r.run();
      } catch (Exception e) {
        LOG.error("Asynchronous task failed", e);
      }
    });
  }
@Test
  public void addToQueue_submits_runnable_to_executorService_which_does_not_fail_if_Runnable_argument_throws_exception() {
    underTest.addToQueue(() -> {
      throw new RuntimeException("Faking an exception thrown by Runnable argument");
    });

    assertThat(logTester.logs()).hasSize(1);
    assertThat(logTester.logs(Level.ERROR)).containsOnly("Asynchronous task failed");
  }