@SuppressWarnings("FutureReturnValueIgnored")
  public void start() {
    budgetRefreshExecutor.submit(this::subscribeToRefreshBudget);
  }
@Test
  public void testScheduledBudgetRefresh() throws InterruptedException {
    CountDownLatch redistributeBudgetLatch = new CountDownLatch(1);
    Runnable redistributeBudget = redistributeBudgetLatch::countDown;
    GetWorkBudgetRefresher budgetRefresher = createBudgetRefresher(redistributeBudget);
    budgetRefresher.start();
    // Wait for scheduled redistribute budget to run.
    redistributeBudgetLatch.await();
    assertThat(redistributeBudgetLatch.getCount()).isEqualTo(0);
  }