code: public void restart(final long waitTime) throws CouldNotPerformException {
          logger.debug("Reset timer.");
          try {
              synchronized (lock) {
                  cancel();
                  start(waitTime);
              }
          } catch (ShutdownInProgressException ex) {
              throw ex;
          } catch (CouldNotPerformException ex) {
              throw new CouldNotPerformException("Could not restart timer!", ex);
          }
      }
docs: Method restarts the timeout.
  
  @param waitTime the new wait time to update.
  
  @throws CouldNotPerformException is thrown in case the timeout could not be restarted.
  @throws ShutdownInProgressException is thrown in case the the system is currently shutting down.