public Future<Void> executeFunction(final Supplier<Void> f) {
    return executor.submit(f::get);
  }
@Test
  public void testSupplierSucceeds() throws Exception {
    ExecutorServiceFuturePool futurePool =
        new ExecutorServiceFuturePool(executorService);
    final AtomicBoolean atomicBoolean = new AtomicBoolean(false);
    Future<Void> future = futurePool.executeFunction(() -> {
      atomicBoolean.set(true);
      return null;
    });
    future.get(30, TimeUnit.SECONDS);
    assertTrue("atomicBoolean set to true?", atomicBoolean.get());
  }