code: private synchronized void reschedule(long millis) {
          currentFut = null;  // Remove current future.
  
          if (!closed) {
              SCHEDULER.schedule(this::refresh, millis, TimeUnit.MILLISECONDS);
          } else {
              try {
                  underlying.close();
              } catch (Exception ex) {
                  LOG.log(Level.WARNING, "failed to close resolver " + underlying.configString(), ex);
              }
          }
      }
docs: Schedule next invocation of the update task.