private synchronized void reschedule(long millis){
  currentFut=null;
  if (!closed) {
    SCHEDULER.schedule(null,millis,TimeUnit.MILLISECONDS);
  }
 else {
    try {
      underlying.close();
    }
 catch (    Exception ex) {
      LOG.log(Level.WARNING,"failed to close resolver " + underlying.configString(),ex);
    }
  }
}

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