@Override
  public void dispose() {
    // wait until all our submitted tasks are executed
    try {
      myExecutor.submit(EmptyRunnable.getInstance()).get();
    }
    catch (Exception ignored) {
    }
  }
@Override
  public void dispose()