code: @Trivial
      private final void purgeFutures() {
          for (Iterator<ScheduledFuture<?>> it = futures.iterator(); it.hasNext();)
              if (it.next().isDone())
                  it.remove();
      }
docs: Purge completed futures from the list we are tracking.
  This method should be invoked every so often so that we don't leak memory.