@Override
  public void unschedule(final ReportingTaskNode taskNode, final ScheduleState scheduleState) {
    for (final ScheduledFuture<?> future : scheduleState.getFutures()) {
      // stop scheduling to run but do not interrupt currently running tasks.
      future.cancel(false);
    }

    logger.info("Stopped scheduling {} to run", taskNode.getReportingTask());
  }