@Override
  public void shutdown(Callback<None> callback)
  {
    _afterStartupCallbacks.add(() -> _wrappedZkStore.shutdown(callback));
    fireAfterStartupCallbacks();
  }
@Test
  public void testShutdown()
      throws InterruptedException, IOException, PropertyStoreException, ExecutionException, TimeoutException
  {
    ZooKeeperConnectionAwareStore<String, ZooKeeperEphemeralStore<String>> store = ZkStoreTestOnlyUtil.getZKAwareStore(PORT);

    final FutureCallback<None> callback = new FutureCallback<>();
    store.shutdown(callback);
    try
    {
      callback.get(5, TimeUnit.SECONDS);
    } catch (InterruptedException | ExecutionException | TimeoutException e)
    {
      fail("unable to shut down store");
    }
  }