@SuppressWarnings("unchecked")
  public Future<Void> executeRunnable(final Runnable r) {
    return (Future<Void>) executor.submit(r::run);
  }
@Test
  public void testRunnableSucceeds() throws Exception {
    ExecutorServiceFuturePool futurePool =
        new ExecutorServiceFuturePool(executorService);
    final AtomicBoolean atomicBoolean = new AtomicBoolean(false);
    Future<Void> future =
        futurePool.executeRunnable(() -> atomicBoolean.set(true));
    future.get(30, TimeUnit.SECONDS);
    assertTrue("atomicBoolean set to true?", atomicBoolean.get());
  }